From 9df88205ba69b286ee14b3ad7cb02c053526001d Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Thu, 14 Apr 2016 10:27:03 -0500 Subject: [PATCH] Fix double-free in lib/hx509/crypto.c --- lib/hx509/crypto.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/hx509/crypto.c b/lib/hx509/crypto.c index b20980325..1949588a3 100644 --- a/lib/hx509/crypto.c +++ b/lib/hx509/crypto.c @@ -438,7 +438,7 @@ ecdsa_create_signature(hx509_context context, ret = set_digest_alg(signatureAlgorithm, sig_oid, "\x05\x00", 2); if (ret) { hx509_clear_error_string(context); - goto error; + return ret; } } @@ -448,11 +448,8 @@ ecdsa_create_signature(hx509_context context, data, NULL, &indata); - if (ret) { - if (signatureAlgorithm) - free_AlgorithmIdentifier(signatureAlgorithm); + if (ret) goto error; - } sig->length = ECDSA_size(signer->private_key.ecdsa); sig->data = malloc(sig->length);