mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
Don't free aliased pointers in ctx cmp_ctx tests
Coverity recorded issues 1551739 and 1551737, a potential double free in the tests. It occurs when the DUP operation fails in such a way val3_read is returned as the same pointer as val2_read. Ideally it should never happen, but resetting val3_read to 0 should satisfy coverity that there is no issue here Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Todd Short <todd.short@me.com> (Merged from https://github.com/openssl/openssl/pull/22800)
This commit is contained in:
parent
7eae6ee0e5
commit
c8ca810da9
@ -405,6 +405,7 @@ execute_CTX_##SETN##_##GETN##_##FIELD(OSSL_CMP_CTX_TEST_FIXTURE *fixture) \
|
||||
} else { \
|
||||
if (DUP && val1_read == val1) { \
|
||||
TEST_error("first set did not dup the value"); \
|
||||
val1_read = 0; \
|
||||
res = 0; \
|
||||
} \
|
||||
if (DEFAULT(val1_read)) { \
|
||||
@ -433,6 +434,7 @@ execute_CTX_##SETN##_##GETN##_##FIELD(OSSL_CMP_CTX_TEST_FIXTURE *fixture) \
|
||||
} else { \
|
||||
if (DUP && val2_read == val2) { \
|
||||
TEST_error("second set did not dup the value"); \
|
||||
val2_read = 0; \
|
||||
res = 0; \
|
||||
} \
|
||||
if (val2 == val1) { \
|
||||
@ -462,6 +464,7 @@ execute_CTX_##SETN##_##GETN##_##FIELD(OSSL_CMP_CTX_TEST_FIXTURE *fixture) \
|
||||
} else { \
|
||||
if (DUP && val3_read == val2_read) { \
|
||||
TEST_error("third get did not create a new dup"); \
|
||||
val3_read = 0; \
|
||||
res = 0; \
|
||||
} \
|
||||
} \
|
||||
|
Loading…
Reference in New Issue
Block a user