mirror of https://github.com/wolfSSL/wolfssl.git
SP Math
sp_read_radix_10: check _sp_add_d doesn't error due to overflow _sp_add_d: Don't change value of used for result until it is known to be valid.pull/5044/head
parent
e87ded85b4
commit
55e13d40b3
|
@ -5219,11 +5219,13 @@ static int _sp_add_d(sp_int* a, sp_int_digit d, sp_int* r)
|
|||
}
|
||||
}
|
||||
if (i == a->used) {
|
||||
r->used++;
|
||||
if (i < r->size)
|
||||
if (i < r->size) {
|
||||
r->used++;
|
||||
r->dp[i] = 1;
|
||||
else
|
||||
}
|
||||
else {
|
||||
err = MP_VAL;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (err == MP_OKAY) {
|
||||
|
@ -14889,7 +14891,10 @@ static int _sp_read_radix_10(sp_int* a, const char* in)
|
|||
if (err != MP_OKAY) {
|
||||
break;
|
||||
}
|
||||
(void)_sp_add_d(a, ch, a);
|
||||
err = _sp_add_d(a, ch, a);
|
||||
if (err != MP_OKAY) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
#ifdef WOLFSSL_SP_INT_NEGATIVE
|
||||
if ((err == MP_OKAY) && sp_iszero(a)) {
|
||||
|
|
Loading…
Reference in New Issue