From: Tomas Mraz Date: Mon, 19 Apr 2021 14:02:16 +0000 (+0200) Subject: Fix potential NULL dereference in OSSL_PARAM_get_utf8_string() X-Git-Tag: openssl-3.0.0-alpha16~160 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1fac27050176f7ed00da5649266024265678f70c;p=thirdparty%2Fopenssl.git Fix potential NULL dereference in OSSL_PARAM_get_utf8_string() Fixes Coverity ID 1476283 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/14928) --- diff --git a/crypto/params.c b/crypto/params.c index 50e900a406e..d9743633b07 100644 --- a/crypto/params.c +++ b/crypto/params.c @@ -1128,11 +1128,13 @@ int OSSL_PARAM_get_utf8_string(const OSSL_PARAM *p, char **val, size_t max_len) */ size_t data_length = p->data_size; + if (ret == 0) + return 0; if (data_length >= max_len) data_length = OPENSSL_strnlen(p->data, data_length); if (data_length >= max_len) return 0; /* No space for a terminating NUL byte */ - ((char *)*val)[data_length] = '\0'; + (*val)[data_length] = '\0'; return ret; } diff --git a/test/evp_extra_test2.c b/test/evp_extra_test2.c index 358ac6053a3..6d5303ab9dd 100644 --- a/test/evp_extra_test2.c +++ b/test/evp_extra_test2.c @@ -566,7 +566,7 @@ static int do_check_utf8_str(OSSL_PARAM params[], const char *key, const char *expected) { OSSL_PARAM *p; - char *bufp = 0; + char *bufp = NULL; int ret; ret = TEST_ptr(p = OSSL_PARAM_locate(params, key))