summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/a_object.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/asn1/a_object.c')
-rw-r--r--src/lib/libcrypto/asn1/a_object.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/lib/libcrypto/asn1/a_object.c b/src/lib/libcrypto/asn1/a_object.c
index b3a7e672ee..34221e0e98 100644
--- a/src/lib/libcrypto/asn1/a_object.c
+++ b/src/lib/libcrypto/asn1/a_object.c
@@ -310,8 +310,7 @@ c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, long len)
310 /* once detached we can change it */ 310 /* once detached we can change it */
311 if ((data == NULL) || (ret->length < len)) { 311 if ((data == NULL) || (ret->length < len)) {
312 ret->length = 0; 312 ret->length = 0;
313 if (data != NULL) 313 free(data);
314 free(data);
315 data = malloc(len ? (int)len : 1); 314 data = malloc(len ? (int)len : 1);
316 if (data == NULL) { 315 if (data == NULL) {
317 i = ERR_R_MALLOC_FAILURE; 316 i = ERR_R_MALLOC_FAILURE;
@@ -365,15 +364,12 @@ ASN1_OBJECT_free(ASN1_OBJECT *a)
365 if (a == NULL) 364 if (a == NULL)
366 return; 365 return;
367 if (a->flags & ASN1_OBJECT_FLAG_DYNAMIC_STRINGS) { 366 if (a->flags & ASN1_OBJECT_FLAG_DYNAMIC_STRINGS) {
368 if (a->sn != NULL) 367 free((void *)a->sn);
369 free((void *)a->sn); 368 free((void *)a->ln);
370 if (a->ln != NULL)
371 free((void *)a->ln);
372 a->sn = a->ln = NULL; 369 a->sn = a->ln = NULL;
373 } 370 }
374 if (a->flags & ASN1_OBJECT_FLAG_DYNAMIC_DATA) { 371 if (a->flags & ASN1_OBJECT_FLAG_DYNAMIC_DATA) {
375 if (a->data != NULL) 372 free((void *)a->data);
376 free((void *)a->data);
377 a->data = NULL; 373 a->data = NULL;
378 a->length = 0; 374 a->length = 0;
379 } 375 }