diff options
author | tedu <> | 2014-04-22 20:38:02 +0000 |
---|---|---|
committer | tedu <> | 2014-04-22 20:38:02 +0000 |
commit | 8e08167934efbcc6e5e2c691e4e173e3bb6176b5 (patch) | |
tree | 331e5ef376de2ccabebcb550848c02fd7ae7a0f1 | |
parent | 4240d5e265135f6f7909288ea641b1c78303ac04 (diff) | |
download | openbsd-8e08167934efbcc6e5e2c691e4e173e3bb6176b5.tar.gz openbsd-8e08167934efbcc6e5e2c691e4e173e3bb6176b5.tar.bz2 openbsd-8e08167934efbcc6e5e2c691e4e173e3bb6176b5.zip |
null a pointer to prevent double free. from Dirk Engling
-rw-r--r-- | src/lib/libcrypto/asn1/a_bytes.c | 1 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/asn1/a_bytes.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/libcrypto/asn1/a_bytes.c b/src/lib/libcrypto/asn1/a_bytes.c index 34ed7b7db2..6cc774e782 100644 --- a/src/lib/libcrypto/asn1/a_bytes.c +++ b/src/lib/libcrypto/asn1/a_bytes.c | |||
@@ -205,6 +205,7 @@ d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, | |||
205 | if ((ret->length < len) || (ret->data == NULL)) { | 205 | if ((ret->length < len) || (ret->data == NULL)) { |
206 | if (ret->data != NULL) | 206 | if (ret->data != NULL) |
207 | free(ret->data); | 207 | free(ret->data); |
208 | ret->data = NULL; | ||
208 | s = malloc(len + 1); | 209 | s = malloc(len + 1); |
209 | if (s == NULL) { | 210 | if (s == NULL) { |
210 | i = ERR_R_MALLOC_FAILURE; | 211 | i = ERR_R_MALLOC_FAILURE; |
diff --git a/src/lib/libssl/src/crypto/asn1/a_bytes.c b/src/lib/libssl/src/crypto/asn1/a_bytes.c index 34ed7b7db2..6cc774e782 100644 --- a/src/lib/libssl/src/crypto/asn1/a_bytes.c +++ b/src/lib/libssl/src/crypto/asn1/a_bytes.c | |||
@@ -205,6 +205,7 @@ d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, | |||
205 | if ((ret->length < len) || (ret->data == NULL)) { | 205 | if ((ret->length < len) || (ret->data == NULL)) { |
206 | if (ret->data != NULL) | 206 | if (ret->data != NULL) |
207 | free(ret->data); | 207 | free(ret->data); |
208 | ret->data = NULL; | ||
208 | s = malloc(len + 1); | 209 | s = malloc(len + 1); |
209 | if (s == NULL) { | 210 | if (s == NULL) { |
210 | i = ERR_R_MALLOC_FAILURE; | 211 | i = ERR_R_MALLOC_FAILURE; |