mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-07-05 10:50:53 +02:00
wolfmath: check mpSz cleanup.
This commit is contained in:
@@ -199,7 +199,7 @@ int test_wc_export_int(void)
|
||||
len = sizeof(buf);
|
||||
ExpectIntEQ(mp_init(&mp), MP_OKAY);
|
||||
ExpectIntEQ(mp_set_bit(&mp, 257), 0);
|
||||
ExpectIntEQ(wc_export_int(&mp, buf, &len, 0, WC_TYPE_UNSIGNED_BIN),
|
||||
ExpectIntEQ(wc_export_int(&mp, buf, &len, keySz, WC_TYPE_UNSIGNED_BIN),
|
||||
WC_NO_ERR_TRACE(BUFFER_E));
|
||||
|
||||
mp_clear(&mp);
|
||||
|
||||
@@ -253,14 +253,14 @@ int wc_export_int(mp_int* mp, byte* buf, word32* len, word32 keySz,
|
||||
else {
|
||||
/* for WC_TYPE_UNSIGNED_BIN keySz is used to zero pad.
|
||||
* The key size is always returned as the size */
|
||||
word32 mpSz = 0;
|
||||
int mpSz = 0;
|
||||
if (*len < keySz) {
|
||||
*len = keySz;
|
||||
return BUFFER_E;
|
||||
}
|
||||
*len = keySz;
|
||||
mpSz = (word32)mp_unsigned_bin_size(mp);
|
||||
if (mpSz > keySz) {
|
||||
mpSz = mp_unsigned_bin_size(mp);
|
||||
if (mpSz < 0 || (word32)mpSz > keySz) {
|
||||
return BUFFER_E;
|
||||
}
|
||||
XMEMSET(buf, 0, *len);
|
||||
|
||||
Reference in New Issue
Block a user