From c2edc8a61d856209e57de53f3faa68b40da8ddeb Mon Sep 17 00:00:00 2001 From: tedu Date: Tue, 22 Apr 2014 20:38:02 +0000 Subject: [PATCH] null a pointer to prevent double free. from Dirk Engling --- lib/libcrypto/asn1/a_bytes.c | 1 + lib/libssl/src/crypto/asn1/a_bytes.c | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/libcrypto/asn1/a_bytes.c b/lib/libcrypto/asn1/a_bytes.c index 34ed7b7db2b..6cc774e7828 100644 --- a/lib/libcrypto/asn1/a_bytes.c +++ b/lib/libcrypto/asn1/a_bytes.c @@ -205,6 +205,7 @@ d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, if ((ret->length < len) || (ret->data == NULL)) { if (ret->data != NULL) free(ret->data); + ret->data = NULL; s = malloc(len + 1); if (s == NULL) { i = ERR_R_MALLOC_FAILURE; diff --git a/lib/libssl/src/crypto/asn1/a_bytes.c b/lib/libssl/src/crypto/asn1/a_bytes.c index 34ed7b7db2b..6cc774e7828 100644 --- a/lib/libssl/src/crypto/asn1/a_bytes.c +++ b/lib/libssl/src/crypto/asn1/a_bytes.c @@ -205,6 +205,7 @@ d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, if ((ret->length < len) || (ret->data == NULL)) { if (ret->data != NULL) free(ret->data); + ret->data = NULL; s = malloc(len + 1); if (s == NULL) { i = ERR_R_MALLOC_FAILURE; -- 2.20.1