summaryrefslogtreecommitdiffstats
path: root/libtommath/bn_mp_read_radix.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtommath/bn_mp_read_radix.c')
-rw-r--r--libtommath/bn_mp_read_radix.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libtommath/bn_mp_read_radix.c b/libtommath/bn_mp_read_radix.c
index 03384e3..a4d1c8a 100644
--- a/libtommath/bn_mp_read_radix.c
+++ b/libtommath/bn_mp_read_radix.c
@@ -71,7 +71,13 @@ int mp_read_radix (mp_int * a, const char *str, int radix)
}
++str;
}
-
+
+ /* if an illegal character was found, fail. */
+ if (!(*str == '\0' || *str == '\r' || *str == '\n')) {
+ mp_zero(a);
+ return MP_VAL;
+ }
+
/* set the sign only if a != 0 */
if (mp_iszero(a) != MP_YES) {
a->sign = neg;