summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhuangqinjin <huangqinjin@gmail.com>2016-05-07 00:50:22 +0800
committerMatt Caswell <matt@openssl.org>2016-05-27 10:04:26 +0100
commit58c03e3b9225fe1a8e3f6b8c23c45b33e26fedb5 (patch)
tree4894d492eb7dd0597cb4f5a162b60977a4540cb1
parent753be41d592e53189fc3905a2d45fd51de9aeaea (diff)
fix BN_hex2bn()/BN_dec2bn() memory leak
Reviewed-by: Kurt Roeckx <kurt@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
-rw-r--r--crypto/bn/bn_print.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/bn/bn_print.c b/crypto/bn/bn_print.c
index 8d06405ab6..78589dba5b 100644
--- a/crypto/bn/bn_print.c
+++ b/crypto/bn/bn_print.c
@@ -139,7 +139,7 @@ int BN_hex2bn(BIGNUM **bn, const char *a)
for (i = 0; i <= (INT_MAX/4) && isxdigit((unsigned char)a[i]); i++)
continue;
- if (i > INT_MAX/4)
+ if (i == 0 || i > INT_MAX/4)
goto err;
num = i + neg;
@@ -209,7 +209,7 @@ int BN_dec2bn(BIGNUM **bn, const char *a)
for (i = 0; i <= (INT_MAX/4) && isdigit((unsigned char)a[i]); i++)
continue;
- if (i > INT_MAX/4)
+ if (i == 0 || i > INT_MAX/4)
goto err;
num = i + neg;