forked from wolfSSL/wolfssl
fixes for null derefs in native Dilithium and Kyber implementations, detected by unit.test and cppcheck.
This commit is contained in:
@ -7421,7 +7421,9 @@ int wc_dilithium_check_key(dilithium_key* key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Dispose of allocated memory. */
|
/* Dispose of allocated memory. */
|
||||||
XFREE(s1, key->heap, DYNAMIC_TYPE_DILITHIUM);
|
if (s1 != NULL) {
|
||||||
|
XFREE(s1, key->heap, DYNAMIC_TYPE_DILITHIUM);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
/* Validate parameter. */
|
/* Validate parameter. */
|
||||||
if (key == NULL) {
|
if (key == NULL) {
|
||||||
|
@ -286,7 +286,9 @@ int wc_KyberKey_MakeKeyWithRandom(KyberKey* key, const unsigned char* rand,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Free dynamic memory allocated in function. */
|
/* Free dynamic memory allocated in function. */
|
||||||
XFREE(a, key->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
if (a != NULL) {
|
||||||
|
XFREE(a, key->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -890,7 +892,9 @@ int wc_KyberKey_Decapsulate(KyberKey* key, unsigned char* ss,
|
|||||||
|
|
||||||
#ifndef USE_INTEL_SPEEDUP
|
#ifndef USE_INTEL_SPEEDUP
|
||||||
/* Dispose of dynamic memory allocated in function. */
|
/* Dispose of dynamic memory allocated in function. */
|
||||||
XFREE(cmp, key->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
if (cmp != NULL) {
|
||||||
|
XFREE(cmp, key->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
Reference in New Issue
Block a user