diff options
author | mrpre <mrpre@163.com> | 2015-08-28 16:12:51 +0800 |
---|---|---|
committer | Rich Salz <rsalz@openssl.org> | 2015-08-31 16:03:31 -0400 |
commit | a7e974c7be90e2c9673e2ce6215a70f734eb8ad4 (patch) | |
tree | 4cb05ad936669fcf83b6b3e833191ff32e90f0da /crypto | |
parent | 124055a96e8533735b32e6af0fa7913c100ffad2 (diff) |
check bn_new return value
Slightly modified from the original PR.
Signed-off-by: Rich Salz <rsalz@akamai.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/asn1/x_bignum.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/asn1/x_bignum.c b/crypto/asn1/x_bignum.c index 66ce000827..d2666e15da 100644 --- a/crypto/asn1/x_bignum.c +++ b/crypto/asn1/x_bignum.c @@ -163,8 +163,8 @@ static int bn_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, { BIGNUM *bn; - if (!*pval) - bn_new(pval, it); + if (*pval == NULL && !bn_new(pval, it)) + return 0; bn = (BIGNUM *)*pval; if (!BN_bin2bn(cont, len, bn)) { bn_free(pval, it); |