diff options
author | Joe Orton <jorton@redhat.com> | 2020-06-09 08:39:50 +0100 |
---|---|---|
committer | Joe Orton <jorton@apache.org> | 2020-06-18 08:01:27 +0100 |
commit | 261ca93783b7ff405902b746c9968db6bc5f3fdb (patch) | |
tree | 74dbc236c60f3a9cefa4533a3059b9a9303e6fa2 | |
parent | ab0e0ff0d0ba610defab499c5a14ee14da5b20f4 (diff) | |
download | neon-git-261ca93783b7ff405902b746c9968db6bc5f3fdb.tar.gz |
* src/ne_openssl.c (ne_vstrhash): Check flags field.
* test/string-tests.c (test_vstrhash, strhash): Test ne_vstrhash()
invalid flags handling.
-rw-r--r-- | src/ne_openssl.c | 2 | ||||
-rw-r--r-- | test/string-tests.c | 14 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/ne_openssl.c b/src/ne_openssl.c index 8907568..73fc29f 100644 --- a/src/ne_openssl.c +++ b/src/ne_openssl.c @@ -1148,6 +1148,8 @@ char *ne_vstrhash(unsigned int flags, va_list ap) char ret[33]; const char *arg; + if (flags != NE_STRHASH_MD5) return NULL; + md = EVP_md5(); if (EVP_DigestInit(ctx, md) != 1) return NULL; diff --git a/test/string-tests.c b/test/string-tests.c index 68fac46..a0975e7 100644 --- a/test/string-tests.c +++ b/test/string-tests.c @@ -650,11 +650,25 @@ static int qappend(void) return OK; } +static char *test_vstrhash(unsigned int flags, ...) +{ + va_list ap; + char *rv; + + va_start(ap, flags); + rv = ne_vstrhash(flags, ap); + va_end(ap); + + return rv; +} + static int strhash(void) { char *h; ONN("zero flags must return NULL", ne_strhash(0, "", NULL) != NULL); + + ONN("zero flags must return NULL for vstrhash", test_vstrhash(0, "", NULL) != NULL); h = ne_strhash(NE_STRHASH_MD5, "", NULL); ONCMP(h, "d41d8cd98f00b204e9800998ecf8427e"); |