diff options
author | huangqinjin <huangqinjin@gmail.com> | 2016-05-07 00:50:22 +0800 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2016-05-27 10:04:26 +0100 |
commit | 58c03e3b9225fe1a8e3f6b8c23c45b33e26fedb5 (patch) | |
tree | 4894d492eb7dd0597cb4f5a162b60977a4540cb1 /crypto/bn | |
parent | 753be41d592e53189fc3905a2d45fd51de9aeaea (diff) |
fix BN_hex2bn()/BN_dec2bn() memory leak
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'crypto/bn')
-rw-r--r-- | crypto/bn/bn_print.c | 4 |
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; |