From 294385740a58a56f6abec2aa53dcb707e70d8585 Mon Sep 17 00:00:00 2001 From: mrpre Date: Fri, 28 Aug 2015 16:12:51 +0800 Subject: check bn_new return value Slightly modified from the original PR. Signed-off-by: Rich Salz Reviewed-by: Richard Levitte (cherry picked from commit a7e974c7be90e2c9673e2ce6215a70f734eb8ad4) --- crypto/asn1/x_bignum.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crypto/asn1/x_bignum.c b/crypto/asn1/x_bignum.c index a5a403c..eaf0466 100644 --- a/crypto/asn1/x_bignum.c +++ b/crypto/asn1/x_bignum.c @@ -141,8 +141,9 @@ static int bn_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it) { 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); -- 1.7.12.1