diff options
author | Pauli <paul.dale@oracle.com> | 2019-03-17 10:58:24 +0100 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2019-03-19 08:42:05 +0100 |
commit | 5d677186e9e50ac9ed1e48d535044d4927775c28 (patch) | |
tree | e43b5c6475f9e2898ee74fc2d9722b331f6a3a93 /test/params_api_test.c | |
parent | Fix compiling error for mips32r6 and mips64r6 (diff) | |
download | openssl-5d677186e9e50ac9ed1e48d535044d4927775c28.tar.xz openssl-5d677186e9e50ac9ed1e48d535044d4927775c28.zip |
Fix resource leak coverity 1443711.
Free the allocated pointer on error.
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8503)
Diffstat (limited to 'test/params_api_test.c')
-rw-r--r-- | test/params_api_test.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/test/params_api_test.c b/test/params_api_test.c index 97c8a9dce5..e59266152b 100644 --- a/test/params_api_test.c +++ b/test/params_api_test.c @@ -465,7 +465,7 @@ static int test_param_construct(void) OSSL_PARAM params[20]; char buf[100], buf2[100], *bufp, *bufp2; unsigned char ubuf[100]; - void *vp, *vp2; + void *vp, *vpn = NULL, *vp2; OSSL_PARAM *p; const OSSL_PARAM *cp; static const OSSL_PARAM pend = OSSL_PARAM_END; @@ -557,7 +557,6 @@ static int test_param_construct(void) || !TEST_ptr_eq(bufp2, bufp)) goto err; /* OCTET string */ - vp = NULL; if (!TEST_ptr(p = locate(params, "octstr")) || !TEST_true(OSSL_PARAM_set_octet_string(p, "abcdefghi", sizeof("abcdefghi"))) @@ -565,12 +564,11 @@ static int test_param_construct(void) goto err; /* Match the return size to avoid trailing garbage bytes */ p->data_size = *p->return_size; - if (!TEST_true(OSSL_PARAM_get_octet_string(p, &vp, 0, &s)) + if (!TEST_true(OSSL_PARAM_get_octet_string(p, &vpn, 0, &s)) || !TEST_size_t_eq(s, sizeof("abcdefghi")) - || !TEST_mem_eq(vp, sizeof("abcdefghi"), + || !TEST_mem_eq(vpn, sizeof("abcdefghi"), "abcdefghi", sizeof("abcdefghi"))) goto err; - OPENSSL_free(vp); vp = buf2; if (!TEST_true(OSSL_PARAM_get_octet_string(p, &vp, sizeof(buf2), &s)) || !TEST_size_t_eq(s, sizeof("abcdefghi")) @@ -604,6 +602,7 @@ static int test_param_construct(void) goto err; ret = 1; err: + OPENSSL_free(vpn); BN_free(bn); BN_free(bn2); return ret; |