summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrpre <mrpre@163.com>2015-08-28 16:12:51 +0800
committerRich Salz <rsalz@openssl.org>2015-08-31 16:03:31 -0400
commita7e974c7be90e2c9673e2ce6215a70f734eb8ad4 (patch)
tree4cb05ad936669fcf83b6b3e833191ff32e90f0da
parent124055a96e8533735b32e6af0fa7913c100ffad2 (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>
-rw-r--r--crypto/asn1/x_bignum.c4
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);