From abd9b10898e82011a65d8e8fca56bf56532edd69 Mon Sep 17 00:00:00 2001 From: deraadt <> Date: Fri, 30 May 2014 06:22:57 +0000 Subject: more: no need for null check before free ok tedu guenther --- src/lib/libcrypto/asn1/a_bitstr.c | 3 +-- src/lib/libcrypto/asn1/a_bytes.c | 15 +++++---------- src/lib/libcrypto/asn1/a_enum.c | 3 +-- src/lib/libcrypto/asn1/a_gentm.c | 3 +-- src/lib/libcrypto/asn1/a_int.c | 9 +++------ src/lib/libcrypto/asn1/a_object.c | 12 ++++-------- src/lib/libcrypto/asn1/a_sign.c | 3 +-- src/lib/libcrypto/asn1/a_utctm.c | 3 +-- src/lib/libcrypto/asn1/asn1_gen.c | 3 +-- src/lib/libcrypto/asn1/t_x509.c | 6 ++---- src/lib/libcrypto/asn1/x_info.c | 3 +-- src/lib/libcrypto/asn1/x_x509.c | 6 ++---- 12 files changed, 23 insertions(+), 46 deletions(-) (limited to 'src/lib/libcrypto/asn1') diff --git a/src/lib/libcrypto/asn1/a_bitstr.c b/src/lib/libcrypto/asn1/a_bitstr.c index f3cce8b536..058a3ccc5f 100644 --- a/src/lib/libcrypto/asn1/a_bitstr.c +++ b/src/lib/libcrypto/asn1/a_bitstr.c @@ -165,8 +165,7 @@ c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **pp, long len) s = NULL; ret->length = (int)len; - if (ret->data != NULL) - free(ret->data); + free(ret->data); ret->data = s; ret->type = V_ASN1_BIT_STRING; if (a != NULL) diff --git a/src/lib/libcrypto/asn1/a_bytes.c b/src/lib/libcrypto/asn1/a_bytes.c index 6cc774e782..0d26e46681 100644 --- a/src/lib/libcrypto/asn1/a_bytes.c +++ b/src/lib/libcrypto/asn1/a_bytes.c @@ -110,8 +110,7 @@ d2i_ASN1_type_bytes(ASN1_STRING **a, const unsigned char **pp, } else s = NULL; - if (ret->data != NULL) - free(ret->data); + free(ret->data); ret->length = (int)len; ret->data = s; ret->type = tag; @@ -203,8 +202,7 @@ d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, } else { if (len != 0) { if ((ret->length < len) || (ret->data == NULL)) { - if (ret->data != NULL) - free(ret->data); + free(ret->data); ret->data = NULL; s = malloc(len + 1); if (s == NULL) { @@ -218,8 +216,7 @@ d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, p += len; } else { s = NULL; - if (ret->data != NULL) - free(ret->data); + free(ret->data); } ret->length = (int)len; @@ -293,8 +290,7 @@ asn1_collate_primitive(ASN1_STRING *a, ASN1_const_CTX *c) goto err; a->length = num; - if (a->data != NULL) - free(a->data); + free(a->data); a->data = (unsigned char *)b.data; if (os != NULL) ASN1_STRING_free(os); @@ -304,7 +300,6 @@ err: ASN1err(ASN1_F_ASN1_COLLATE_PRIMITIVE, c->error); if (os != NULL) ASN1_STRING_free(os); - if (b.data != NULL) - free(b.data); + free(b.data); return (0); } diff --git a/src/lib/libcrypto/asn1/a_enum.c b/src/lib/libcrypto/asn1/a_enum.c index aa28c7c8d7..b514288782 100644 --- a/src/lib/libcrypto/asn1/a_enum.c +++ b/src/lib/libcrypto/asn1/a_enum.c @@ -76,8 +76,7 @@ ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v) a->type = V_ASN1_ENUMERATED; if (a->length < (int)(sizeof(long) + 1)) { - if (a->data != NULL) - free(a->data); + free(a->data); a->data = calloc(1, sizeof(long) + 1); } if (a->data == NULL) { diff --git a/src/lib/libcrypto/asn1/a_gentm.c b/src/lib/libcrypto/asn1/a_gentm.c index 7f8bc2fef7..e9881943a1 100644 --- a/src/lib/libcrypto/asn1/a_gentm.c +++ b/src/lib/libcrypto/asn1/a_gentm.c @@ -234,8 +234,7 @@ ASN1_GENERALIZEDTIME_adj_internal(ASN1_GENERALIZEDTIME *s, time_t t, ERR_R_MALLOC_FAILURE); return (NULL); } - if (s->data != NULL) - free(s->data); + free(s->data); s->data = (unsigned char *)p; } diff --git a/src/lib/libcrypto/asn1/a_int.c b/src/lib/libcrypto/asn1/a_int.c index 0559cce384..881f08a766 100644 --- a/src/lib/libcrypto/asn1/a_int.c +++ b/src/lib/libcrypto/asn1/a_int.c @@ -256,8 +256,7 @@ c2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **pp, long len) memcpy(s, p, (int)len); } - if (ret->data != NULL) - free(ret->data); + free(ret->data); ret->data = s; ret->length = (int)len; if (a != NULL) @@ -324,8 +323,7 @@ d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length) p += len; } - if (ret->data != NULL) - free(ret->data); + free(ret->data); ret->data = s; ret->length = (int)len; if (a != NULL) @@ -350,8 +348,7 @@ ASN1_INTEGER_set(ASN1_INTEGER *a, long v) a->type = V_ASN1_INTEGER; if (a->length < (int)(sizeof(long) + 1)) { - if (a->data != NULL) - free(a->data); + free(a->data); a->data = calloc(1, sizeof(long) + 1); } if (a->data == NULL) { 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) /* once detached we can change it */ if ((data == NULL) || (ret->length < len)) { ret->length = 0; - if (data != NULL) - free(data); + free(data); data = malloc(len ? (int)len : 1); if (data == NULL) { i = ERR_R_MALLOC_FAILURE; @@ -365,15 +364,12 @@ ASN1_OBJECT_free(ASN1_OBJECT *a) if (a == NULL) return; if (a->flags & ASN1_OBJECT_FLAG_DYNAMIC_STRINGS) { - if (a->sn != NULL) - free((void *)a->sn); - if (a->ln != NULL) - free((void *)a->ln); + free((void *)a->sn); + free((void *)a->ln); a->sn = a->ln = NULL; } if (a->flags & ASN1_OBJECT_FLAG_DYNAMIC_DATA) { - if (a->data != NULL) - free((void *)a->data); + free((void *)a->data); a->data = NULL; a->length = 0; } diff --git a/src/lib/libcrypto/asn1/a_sign.c b/src/lib/libcrypto/asn1/a_sign.c index 40c6809669..2705a0402e 100644 --- a/src/lib/libcrypto/asn1/a_sign.c +++ b/src/lib/libcrypto/asn1/a_sign.c @@ -218,8 +218,7 @@ ASN1_item_sign_ctx(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2, ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX, ERR_R_EVP_LIB); goto err; } - if (signature->data != NULL) - free(signature->data); + free(signature->data); signature->data = buf_out; buf_out = NULL; signature->length = outl; diff --git a/src/lib/libcrypto/asn1/a_utctm.c b/src/lib/libcrypto/asn1/a_utctm.c index 35f2b7fd66..b8e5b7afc1 100644 --- a/src/lib/libcrypto/asn1/a_utctm.c +++ b/src/lib/libcrypto/asn1/a_utctm.c @@ -177,8 +177,7 @@ ASN1_UTCTIME_adj_internal(ASN1_UTCTIME *s, time_t t, int offset_day, ASN1err(ASN1_F_ASN1_UTCTIME_ADJ, ERR_R_MALLOC_FAILURE); return (NULL); } - if (s->data != NULL) - free(s->data); + free(s->data); s->data = (unsigned char *)p; } diff --git a/src/lib/libcrypto/asn1/asn1_gen.c b/src/lib/libcrypto/asn1/asn1_gen.c index 7abbac6059..8ab8944d64 100644 --- a/src/lib/libcrypto/asn1/asn1_gen.c +++ b/src/lib/libcrypto/asn1/asn1_gen.c @@ -474,8 +474,7 @@ asn1_multi(int utype, const char *section, X509V3_CTX *cnf) der = NULL; bad: - if (der) - free(der); + free(der); if (sk) sk_ASN1_TYPE_pop_free(sk, ASN1_TYPE_free); if (sect) diff --git a/src/lib/libcrypto/asn1/t_x509.c b/src/lib/libcrypto/asn1/t_x509.c index efba93adeb..f1c045e0e6 100644 --- a/src/lib/libcrypto/asn1/t_x509.c +++ b/src/lib/libcrypto/asn1/t_x509.c @@ -245,8 +245,7 @@ X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) ret = 1; err: - if (m != NULL) - free(m); + free(m); return (ret); } @@ -294,8 +293,7 @@ int X509_ocspid_print (BIO *bp, X509 *x) return (1); err: - if (der != NULL) - free(der); + free(der); return (0); } diff --git a/src/lib/libcrypto/asn1/x_info.c b/src/lib/libcrypto/asn1/x_info.c index 2d1bf0d22d..b17d7ace11 100644 --- a/src/lib/libcrypto/asn1/x_info.c +++ b/src/lib/libcrypto/asn1/x_info.c @@ -102,8 +102,7 @@ X509_INFO_free(X509_INFO *x) X509_CRL_free(x->crl); if (x->x_pkey != NULL) X509_PKEY_free(x->x_pkey); - if (x->enc_data != NULL) - free(x->enc_data); + free(x->enc_data); free(x); } diff --git a/src/lib/libcrypto/asn1/x_x509.c b/src/lib/libcrypto/asn1/x_x509.c index e93d97d2c4..7053bb87eb 100644 --- a/src/lib/libcrypto/asn1/x_x509.c +++ b/src/lib/libcrypto/asn1/x_x509.c @@ -105,8 +105,7 @@ x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg) break; case ASN1_OP_D2I_POST: - if (ret->name != NULL) - free(ret->name); + free(ret->name); ret->name = X509_NAME_oneline(ret->cert_info->subject, NULL, 0); break; @@ -123,8 +122,7 @@ x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg) sk_IPAddressFamily_pop_free(ret->rfc3779_addr, IPAddressFamily_free); ASIdentifiers_free(ret->rfc3779_asid); #endif - if (ret->name != NULL) - free(ret->name); + free(ret->name); ret->name = NULL; break; } -- cgit v1.2.3-55-g6feb