summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2009-04-13 11:31:22 +0000
committerDr. Stephen Henson <steve@openssl.org>2009-04-13 11:31:22 +0000
commit55ed10db21d2bd5455946c8cd60926aa78ebdefb (patch)
treeea6c5484e932750d920c284eefb6f9e25611bbf3
parent3877b6bfe92069278d169d7219be483f7c6d8825 (diff)
PR: 1785
Submitted by: Ger Hobbelt <ger@hobbelt.com> Approved by: steve@openssl.org Properly handle malloc failure.
-rw-r--r--crypto/dsa/dsa_asn1.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/crypto/dsa/dsa_asn1.c b/crypto/dsa/dsa_asn1.c
index 084bd451c6..8277a74be2 100644
--- a/crypto/dsa/dsa_asn1.c
+++ b/crypto/dsa/dsa_asn1.c
@@ -69,12 +69,15 @@ static int sig_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,
if(operation == ASN1_OP_NEW_PRE) {
DSA_SIG *sig;
sig = OPENSSL_malloc(sizeof(DSA_SIG));
+ if (!sig)
+ {
+ DSAerr(DSA_F_SIG_CB, ERR_R_MALLOC_FAILURE);
+ return 0;
+ }
sig->r = NULL;
sig->s = NULL;
*pval = (ASN1_VALUE *)sig;
- if(sig) return 2;
- DSAerr(DSA_F_SIG_CB, ERR_R_MALLOC_FAILURE);
- return 0;
+ return 2;
}
return 1;
}