sp_int.c: Strip leading zeros in sp_read_radix

This commit is contained in:
Sean Parkinson
2019-12-13 09:08:55 +10:00
parent adc14f7552
commit e063fb1631

View File

@ -210,6 +210,10 @@ int sp_read_radix(sp_int* a, const char* in, int radix)
err = BAD_FUNC_ARG; err = BAD_FUNC_ARG;
} }
while (*in == '0') {
in++;
}
if (err == MP_OKAY) { if (err == MP_OKAY) {
a->dp[0] = 0; a->dp[0] = 0;
for (i = (int)(XSTRLEN(in) - 1); i >= 0; i--) { for (i = (int)(XSTRLEN(in) - 1); i >= 0; i--) {
@ -244,8 +248,9 @@ int sp_read_radix(sp_int* a, const char* in, int radix)
for (k++; k < a->size; k++) for (k++; k < a->size; k++)
a->dp[k] = 0; a->dp[k] = 0;
sp_clamp(a);
} }
sp_clamp(a);
return err; return err;
} }