diff options
| author | deraadt <> | 2014-05-30 06:22:57 +0000 |
|---|---|---|
| committer | deraadt <> | 2014-05-30 06:22:57 +0000 |
| commit | 93efbaa11c9b941fe460a1f6bfa75b21d8624e53 (patch) | |
| tree | 1ff700d79cee9e764329e5c50d7eb8d5109789cc /src/lib/libc | |
| parent | 4aef4566c1a41608b7d78a7d5cfc3e031b7e4fe3 (diff) | |
| download | openbsd-93efbaa11c9b941fe460a1f6bfa75b21d8624e53.tar.gz openbsd-93efbaa11c9b941fe460a1f6bfa75b21d8624e53.tar.bz2 openbsd-93efbaa11c9b941fe460a1f6bfa75b21d8624e53.zip | |
more: no need for null check before free
ok tedu guenther
Diffstat (limited to '')
44 files changed, 103 insertions, 212 deletions
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) | |||
| 165 | s = NULL; | 165 | s = NULL; |
| 166 | 166 | ||
| 167 | ret->length = (int)len; | 167 | ret->length = (int)len; |
| 168 | if (ret->data != NULL) | 168 | free(ret->data); |
| 169 | free(ret->data); | ||
| 170 | ret->data = s; | 169 | ret->data = s; |
| 171 | ret->type = V_ASN1_BIT_STRING; | 170 | ret->type = V_ASN1_BIT_STRING; |
| 172 | if (a != NULL) | 171 | 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, | |||
| 110 | } else | 110 | } else |
| 111 | s = NULL; | 111 | s = NULL; |
| 112 | 112 | ||
| 113 | if (ret->data != NULL) | 113 | free(ret->data); |
| 114 | free(ret->data); | ||
| 115 | ret->length = (int)len; | 114 | ret->length = (int)len; |
| 116 | ret->data = s; | 115 | ret->data = s; |
| 117 | ret->type = tag; | 116 | ret->type = tag; |
| @@ -203,8 +202,7 @@ d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, | |||
| 203 | } else { | 202 | } else { |
| 204 | if (len != 0) { | 203 | if (len != 0) { |
| 205 | if ((ret->length < len) || (ret->data == NULL)) { | 204 | if ((ret->length < len) || (ret->data == NULL)) { |
| 206 | if (ret->data != NULL) | 205 | free(ret->data); |
| 207 | free(ret->data); | ||
| 208 | ret->data = NULL; | 206 | ret->data = NULL; |
| 209 | s = malloc(len + 1); | 207 | s = malloc(len + 1); |
| 210 | if (s == NULL) { | 208 | if (s == NULL) { |
| @@ -218,8 +216,7 @@ d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, | |||
| 218 | p += len; | 216 | p += len; |
| 219 | } else { | 217 | } else { |
| 220 | s = NULL; | 218 | s = NULL; |
| 221 | if (ret->data != NULL) | 219 | free(ret->data); |
| 222 | free(ret->data); | ||
| 223 | } | 220 | } |
| 224 | 221 | ||
| 225 | ret->length = (int)len; | 222 | ret->length = (int)len; |
| @@ -293,8 +290,7 @@ asn1_collate_primitive(ASN1_STRING *a, ASN1_const_CTX *c) | |||
| 293 | goto err; | 290 | goto err; |
| 294 | 291 | ||
| 295 | a->length = num; | 292 | a->length = num; |
| 296 | if (a->data != NULL) | 293 | free(a->data); |
| 297 | free(a->data); | ||
| 298 | a->data = (unsigned char *)b.data; | 294 | a->data = (unsigned char *)b.data; |
| 299 | if (os != NULL) | 295 | if (os != NULL) |
| 300 | ASN1_STRING_free(os); | 296 | ASN1_STRING_free(os); |
| @@ -304,7 +300,6 @@ err: | |||
| 304 | ASN1err(ASN1_F_ASN1_COLLATE_PRIMITIVE, c->error); | 300 | ASN1err(ASN1_F_ASN1_COLLATE_PRIMITIVE, c->error); |
| 305 | if (os != NULL) | 301 | if (os != NULL) |
| 306 | ASN1_STRING_free(os); | 302 | ASN1_STRING_free(os); |
| 307 | if (b.data != NULL) | 303 | free(b.data); |
| 308 | free(b.data); | ||
| 309 | return (0); | 304 | return (0); |
| 310 | } | 305 | } |
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) | |||
| 76 | 76 | ||
| 77 | a->type = V_ASN1_ENUMERATED; | 77 | a->type = V_ASN1_ENUMERATED; |
| 78 | if (a->length < (int)(sizeof(long) + 1)) { | 78 | if (a->length < (int)(sizeof(long) + 1)) { |
| 79 | if (a->data != NULL) | 79 | free(a->data); |
| 80 | free(a->data); | ||
| 81 | a->data = calloc(1, sizeof(long) + 1); | 80 | a->data = calloc(1, sizeof(long) + 1); |
| 82 | } | 81 | } |
| 83 | if (a->data == NULL) { | 82 | 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, | |||
| 234 | ERR_R_MALLOC_FAILURE); | 234 | ERR_R_MALLOC_FAILURE); |
| 235 | return (NULL); | 235 | return (NULL); |
| 236 | } | 236 | } |
| 237 | if (s->data != NULL) | 237 | free(s->data); |
| 238 | free(s->data); | ||
| 239 | s->data = (unsigned char *)p; | 238 | s->data = (unsigned char *)p; |
| 240 | } | 239 | } |
| 241 | 240 | ||
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) | |||
| 256 | memcpy(s, p, (int)len); | 256 | memcpy(s, p, (int)len); |
| 257 | } | 257 | } |
| 258 | 258 | ||
| 259 | if (ret->data != NULL) | 259 | free(ret->data); |
| 260 | free(ret->data); | ||
| 261 | ret->data = s; | 260 | ret->data = s; |
| 262 | ret->length = (int)len; | 261 | ret->length = (int)len; |
| 263 | if (a != NULL) | 262 | if (a != NULL) |
| @@ -324,8 +323,7 @@ d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length) | |||
| 324 | p += len; | 323 | p += len; |
| 325 | } | 324 | } |
| 326 | 325 | ||
| 327 | if (ret->data != NULL) | 326 | free(ret->data); |
| 328 | free(ret->data); | ||
| 329 | ret->data = s; | 327 | ret->data = s; |
| 330 | ret->length = (int)len; | 328 | ret->length = (int)len; |
| 331 | if (a != NULL) | 329 | if (a != NULL) |
| @@ -350,8 +348,7 @@ ASN1_INTEGER_set(ASN1_INTEGER *a, long v) | |||
| 350 | 348 | ||
| 351 | a->type = V_ASN1_INTEGER; | 349 | a->type = V_ASN1_INTEGER; |
| 352 | if (a->length < (int)(sizeof(long) + 1)) { | 350 | if (a->length < (int)(sizeof(long) + 1)) { |
| 353 | if (a->data != NULL) | 351 | free(a->data); |
| 354 | free(a->data); | ||
| 355 | a->data = calloc(1, sizeof(long) + 1); | 352 | a->data = calloc(1, sizeof(long) + 1); |
| 356 | } | 353 | } |
| 357 | if (a->data == NULL) { | 354 | 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) | |||
| 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 | } |
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, | |||
| 218 | ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX, ERR_R_EVP_LIB); | 218 | ASN1err(ASN1_F_ASN1_ITEM_SIGN_CTX, ERR_R_EVP_LIB); |
| 219 | goto err; | 219 | goto err; |
| 220 | } | 220 | } |
| 221 | if (signature->data != NULL) | 221 | free(signature->data); |
| 222 | free(signature->data); | ||
| 223 | signature->data = buf_out; | 222 | signature->data = buf_out; |
| 224 | buf_out = NULL; | 223 | buf_out = NULL; |
| 225 | signature->length = outl; | 224 | 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, | |||
| 177 | ASN1err(ASN1_F_ASN1_UTCTIME_ADJ, ERR_R_MALLOC_FAILURE); | 177 | ASN1err(ASN1_F_ASN1_UTCTIME_ADJ, ERR_R_MALLOC_FAILURE); |
| 178 | return (NULL); | 178 | return (NULL); |
| 179 | } | 179 | } |
| 180 | if (s->data != NULL) | 180 | free(s->data); |
| 181 | free(s->data); | ||
| 182 | s->data = (unsigned char *)p; | 181 | s->data = (unsigned char *)p; |
| 183 | } | 182 | } |
| 184 | 183 | ||
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) | |||
| 474 | der = NULL; | 474 | der = NULL; |
| 475 | 475 | ||
| 476 | bad: | 476 | bad: |
| 477 | if (der) | 477 | free(der); |
| 478 | free(der); | ||
| 479 | if (sk) | 478 | if (sk) |
| 480 | sk_ASN1_TYPE_pop_free(sk, ASN1_TYPE_free); | 479 | sk_ASN1_TYPE_pop_free(sk, ASN1_TYPE_free); |
| 481 | if (sect) | 480 | 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) | |||
| 245 | ret = 1; | 245 | ret = 1; |
| 246 | 246 | ||
| 247 | err: | 247 | err: |
| 248 | if (m != NULL) | 248 | free(m); |
| 249 | free(m); | ||
| 250 | return (ret); | 249 | return (ret); |
| 251 | } | 250 | } |
| 252 | 251 | ||
| @@ -294,8 +293,7 @@ int X509_ocspid_print (BIO *bp, X509 *x) | |||
| 294 | return (1); | 293 | return (1); |
| 295 | 294 | ||
| 296 | err: | 295 | err: |
| 297 | if (der != NULL) | 296 | free(der); |
| 298 | free(der); | ||
| 299 | return (0); | 297 | return (0); |
| 300 | } | 298 | } |
| 301 | 299 | ||
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) | |||
| 102 | X509_CRL_free(x->crl); | 102 | X509_CRL_free(x->crl); |
| 103 | if (x->x_pkey != NULL) | 103 | if (x->x_pkey != NULL) |
| 104 | X509_PKEY_free(x->x_pkey); | 104 | X509_PKEY_free(x->x_pkey); |
| 105 | if (x->enc_data != NULL) | 105 | free(x->enc_data); |
| 106 | free(x->enc_data); | ||
| 107 | free(x); | 106 | free(x); |
| 108 | } | 107 | } |
| 109 | 108 | ||
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) | |||
| 105 | break; | 105 | break; |
| 106 | 106 | ||
| 107 | case ASN1_OP_D2I_POST: | 107 | case ASN1_OP_D2I_POST: |
| 108 | if (ret->name != NULL) | 108 | free(ret->name); |
| 109 | free(ret->name); | ||
| 110 | ret->name = X509_NAME_oneline(ret->cert_info->subject, NULL, 0); | 109 | ret->name = X509_NAME_oneline(ret->cert_info->subject, NULL, 0); |
| 111 | break; | 110 | break; |
| 112 | 111 | ||
| @@ -123,8 +122,7 @@ x509_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg) | |||
| 123 | sk_IPAddressFamily_pop_free(ret->rfc3779_addr, IPAddressFamily_free); | 122 | sk_IPAddressFamily_pop_free(ret->rfc3779_addr, IPAddressFamily_free); |
| 124 | ASIdentifiers_free(ret->rfc3779_asid); | 123 | ASIdentifiers_free(ret->rfc3779_asid); |
| 125 | #endif | 124 | #endif |
| 126 | if (ret->name != NULL) | 125 | free(ret->name); |
| 127 | free(ret->name); | ||
| 128 | ret->name = NULL; | 126 | ret->name = NULL; |
| 129 | break; | 127 | break; |
| 130 | } | 128 | } |
diff --git a/src/lib/libcrypto/bio/b_sock.c b/src/lib/libcrypto/bio/b_sock.c index a9c4408a09..c7a10ca348 100644 --- a/src/lib/libcrypto/bio/b_sock.c +++ b/src/lib/libcrypto/bio/b_sock.c | |||
| @@ -435,8 +435,7 @@ again: | |||
| 435 | } | 435 | } |
| 436 | ret = 1; | 436 | ret = 1; |
| 437 | err: | 437 | err: |
| 438 | if (str != NULL) | 438 | free(str); |
| 439 | free(str); | ||
| 440 | if ((ret == 0) && (s != -1)) { | 439 | if ((ret == 0) && (s != -1)) { |
| 441 | close(s); | 440 | close(s); |
| 442 | s = -1; | 441 | s = -1; |
diff --git a/src/lib/libcrypto/bio/bf_buff.c b/src/lib/libcrypto/bio/bf_buff.c index e96da40a58..0866c8c7a3 100644 --- a/src/lib/libcrypto/bio/bf_buff.c +++ b/src/lib/libcrypto/bio/bf_buff.c | |||
| @@ -130,10 +130,8 @@ buffer_free(BIO *a) | |||
| 130 | if (a == NULL) | 130 | if (a == NULL) |
| 131 | return (0); | 131 | return (0); |
| 132 | b = (BIO_F_BUFFER_CTX *)a->ptr; | 132 | b = (BIO_F_BUFFER_CTX *)a->ptr; |
| 133 | if (b->ibuf != NULL) | 133 | free(b->ibuf); |
| 134 | free(b->ibuf); | 134 | free(b->obuf); |
| 135 | if (b->obuf != NULL) | ||
| 136 | free(b->obuf); | ||
| 137 | free(a->ptr); | 135 | free(a->ptr); |
| 138 | a->ptr = NULL; | 136 | a->ptr = NULL; |
| 139 | a->init = 0; | 137 | a->init = 0; |
| @@ -342,8 +340,7 @@ buffer_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 342 | p1 = malloc((int)num); | 340 | p1 = malloc((int)num); |
| 343 | if (p1 == NULL) | 341 | if (p1 == NULL) |
| 344 | goto malloc_error; | 342 | goto malloc_error; |
| 345 | if (ctx->ibuf != NULL) | 343 | free(ctx->ibuf); |
| 346 | free(ctx->ibuf); | ||
| 347 | ctx->ibuf = p1; | 344 | ctx->ibuf = p1; |
| 348 | } | 345 | } |
| 349 | ctx->ibuf_off = 0; | 346 | ctx->ibuf_off = 0; |
diff --git a/src/lib/libcrypto/bio/bf_lbuf.c b/src/lib/libcrypto/bio/bf_lbuf.c index 54c370d038..42c0e1dca5 100644 --- a/src/lib/libcrypto/bio/bf_lbuf.c +++ b/src/lib/libcrypto/bio/bf_lbuf.c | |||
| @@ -131,8 +131,7 @@ linebuffer_free(BIO *a) | |||
| 131 | if (a == NULL) | 131 | if (a == NULL) |
| 132 | return (0); | 132 | return (0); |
| 133 | b = (BIO_LINEBUFFER_CTX *)a->ptr; | 133 | b = (BIO_LINEBUFFER_CTX *)a->ptr; |
| 134 | if (b->obuf != NULL) | 134 | free(b->obuf); |
| 135 | free(b->obuf); | ||
| 136 | free(a->ptr); | 135 | free(a->ptr); |
| 137 | a->ptr = NULL; | 136 | a->ptr = NULL; |
| 138 | a->init = 0; | 137 | a->init = 0; |
diff --git a/src/lib/libcrypto/bio/bf_nbio.c b/src/lib/libcrypto/bio/bf_nbio.c index 5a0f6b276a..9b0ec7d41f 100644 --- a/src/lib/libcrypto/bio/bf_nbio.c +++ b/src/lib/libcrypto/bio/bf_nbio.c | |||
| @@ -119,8 +119,7 @@ nbiof_free(BIO *a) | |||
| 119 | { | 119 | { |
| 120 | if (a == NULL) | 120 | if (a == NULL) |
| 121 | return (0); | 121 | return (0); |
| 122 | if (a->ptr != NULL) | 122 | free(a->ptr); |
| 123 | free(a->ptr); | ||
| 124 | a->ptr = NULL; | 123 | a->ptr = NULL; |
| 125 | a->init = 0; | 124 | a->init = 0; |
| 126 | a->flags = 0; | 125 | a->flags = 0; |
diff --git a/src/lib/libcrypto/bio/bss_acpt.c b/src/lib/libcrypto/bio/bss_acpt.c index 943d3d9d96..d246aba681 100644 --- a/src/lib/libcrypto/bio/bss_acpt.c +++ b/src/lib/libcrypto/bio/bss_acpt.c | |||
| @@ -148,10 +148,8 @@ BIO_ACCEPT_free(BIO_ACCEPT *a) | |||
| 148 | if (a == NULL) | 148 | if (a == NULL) |
| 149 | return; | 149 | return; |
| 150 | 150 | ||
| 151 | if (a->param_addr != NULL) | 151 | free(a->param_addr); |
| 152 | free(a->param_addr); | 152 | free(a->addr); |
| 153 | if (a->addr != NULL) | ||
| 154 | free(a->addr); | ||
| 155 | if (a->bio_chain != NULL) | 153 | if (a->bio_chain != NULL) |
| 156 | BIO_free(a->bio_chain); | 154 | BIO_free(a->bio_chain); |
| 157 | free(a); | 155 | free(a); |
| @@ -352,8 +350,7 @@ acpt_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 352 | if (ptr != NULL) { | 350 | if (ptr != NULL) { |
| 353 | if (num == 0) { | 351 | if (num == 0) { |
| 354 | b->init = 1; | 352 | b->init = 1; |
| 355 | if (data->param_addr != NULL) | 353 | free(data->param_addr); |
| 356 | free(data->param_addr); | ||
| 357 | data->param_addr = BUF_strdup(ptr); | 354 | data->param_addr = BUF_strdup(ptr); |
| 358 | } else if (num == 1) { | 355 | } else if (num == 1) { |
| 359 | data->accept_nbio = (ptr != NULL); | 356 | data->accept_nbio = (ptr != NULL); |
diff --git a/src/lib/libcrypto/bio/bss_bio.c b/src/lib/libcrypto/bio/bss_bio.c index eda2e2a55c..519002beed 100644 --- a/src/lib/libcrypto/bio/bss_bio.c +++ b/src/lib/libcrypto/bio/bss_bio.c | |||
| @@ -160,12 +160,8 @@ bio_free(BIO *bio) | |||
| 160 | if (b->peer) | 160 | if (b->peer) |
| 161 | bio_destroy_pair(bio); | 161 | bio_destroy_pair(bio); |
| 162 | 162 | ||
| 163 | if (b->buf != NULL) { | 163 | free(b->buf); |
| 164 | free(b->buf); | ||
| 165 | } | ||
| 166 | |||
| 167 | free(b); | 164 | free(b); |
| 168 | |||
| 169 | return 1; | 165 | return 1; |
| 170 | } | 166 | } |
| 171 | 167 | ||
diff --git a/src/lib/libcrypto/bio/bss_conn.c b/src/lib/libcrypto/bio/bss_conn.c index 7ed8f1fe31..a31e5a170b 100644 --- a/src/lib/libcrypto/bio/bss_conn.c +++ b/src/lib/libcrypto/bio/bss_conn.c | |||
| @@ -147,8 +147,7 @@ conn_state(BIO *b, BIO_CONNECT *c) | |||
| 147 | *q = '\0'; | 147 | *q = '\0'; |
| 148 | break; | 148 | break; |
| 149 | } | 149 | } |
| 150 | if (c->param_port != NULL) | 150 | free(c->param_port); |
| 151 | free(c->param_port); | ||
| 152 | c->param_port = BUF_strdup(p); | 151 | c->param_port = BUF_strdup(p); |
| 153 | } | 152 | } |
| 154 | } | 153 | } |
| @@ -315,10 +314,8 @@ BIO_CONNECT_free(BIO_CONNECT *a) | |||
| 315 | if (a == NULL) | 314 | if (a == NULL) |
| 316 | return; | 315 | return; |
| 317 | 316 | ||
| 318 | if (a->param_hostname != NULL) | 317 | free(a->param_hostname); |
| 319 | free(a->param_hostname); | 318 | free(a->param_port); |
| 320 | if (a->param_port != NULL) | ||
| 321 | free(a->param_port); | ||
| 322 | free(a); | 319 | free(a); |
| 323 | } | 320 | } |
| 324 | 321 | ||
| @@ -469,12 +466,10 @@ conn_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 469 | if (ptr != NULL) { | 466 | if (ptr != NULL) { |
| 470 | b->init = 1; | 467 | b->init = 1; |
| 471 | if (num == 0) { | 468 | if (num == 0) { |
| 472 | if (data->param_hostname != NULL) | 469 | free(data->param_hostname); |
| 473 | free(data->param_hostname); | ||
| 474 | data->param_hostname = BUF_strdup(ptr); | 470 | data->param_hostname = BUF_strdup(ptr); |
| 475 | } else if (num == 1) { | 471 | } else if (num == 1) { |
| 476 | if (data->param_port != NULL) | 472 | free(data->param_port); |
| 477 | free(data->param_port); | ||
| 478 | data->param_port = BUF_strdup(ptr); | 473 | data->param_port = BUF_strdup(ptr); |
| 479 | } else if (num == 2) { | 474 | } else if (num == 2) { |
| 480 | char buf[16]; | 475 | char buf[16]; |
| @@ -482,8 +477,7 @@ conn_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 482 | 477 | ||
| 483 | snprintf(buf, sizeof buf, "%d.%d.%d.%d", | 478 | snprintf(buf, sizeof buf, "%d.%d.%d.%d", |
| 484 | p[0], p[1], p[2], p[3]); | 479 | p[0], p[1], p[2], p[3]); |
| 485 | if (data->param_hostname != NULL) | 480 | free(data->param_hostname); |
| 486 | free(data->param_hostname); | ||
| 487 | data->param_hostname = BUF_strdup(buf); | 481 | data->param_hostname = BUF_strdup(buf); |
| 488 | memcpy(&(data->ip[0]), ptr, 4); | 482 | memcpy(&(data->ip[0]), ptr, 4); |
| 489 | } else if (num == 3) { | 483 | } else if (num == 3) { |
| @@ -491,8 +485,7 @@ conn_ctrl(BIO *b, int cmd, long num, void *ptr) | |||
| 491 | 485 | ||
| 492 | snprintf(buf, sizeof buf, "%d", | 486 | snprintf(buf, sizeof buf, "%d", |
| 493 | *(int *)ptr); | 487 | *(int *)ptr); |
| 494 | if (data->param_port != NULL) | 488 | free(data->param_port); |
| 495 | free(data->param_port); | ||
| 496 | data->param_port = BUF_strdup(buf); | 489 | data->param_port = BUF_strdup(buf); |
| 497 | data->port= *(int *)ptr; | 490 | data->port= *(int *)ptr; |
| 498 | } | 491 | } |
diff --git a/src/lib/libcrypto/bio/bss_dgram.c b/src/lib/libcrypto/bio/bss_dgram.c index 8f7439c51e..9160fe4018 100644 --- a/src/lib/libcrypto/bio/bss_dgram.c +++ b/src/lib/libcrypto/bio/bss_dgram.c | |||
| @@ -217,8 +217,7 @@ dgram_free(BIO *a) | |||
| 217 | return 0; | 217 | return 0; |
| 218 | 218 | ||
| 219 | data = (bio_dgram_data *)a->ptr; | 219 | data = (bio_dgram_data *)a->ptr; |
| 220 | if (data != NULL) | 220 | free(data); |
| 221 | free(data); | ||
| 222 | 221 | ||
| 223 | return (1); | 222 | return (1); |
| 224 | } | 223 | } |
| @@ -830,8 +829,7 @@ dgram_sctp_free(BIO *a) | |||
| 830 | return 0; | 829 | return 0; |
| 831 | 830 | ||
| 832 | data = (bio_dgram_sctp_data *)a->ptr; | 831 | data = (bio_dgram_sctp_data *)a->ptr; |
| 833 | if (data != NULL) | 832 | free(data); |
| 834 | free(data); | ||
| 835 | 833 | ||
| 836 | return (1); | 834 | return (1); |
| 837 | } | 835 | } |
diff --git a/src/lib/libcrypto/bn/bn_print.c b/src/lib/libcrypto/bn/bn_print.c index ea5fa5c3da..ad3a847f01 100644 --- a/src/lib/libcrypto/bn/bn_print.c +++ b/src/lib/libcrypto/bn/bn_print.c | |||
| @@ -157,8 +157,7 @@ BN_bn2dec(const BIGNUM *a) | |||
| 157 | ok = 1; | 157 | ok = 1; |
| 158 | 158 | ||
| 159 | err: | 159 | err: |
| 160 | if (bn_data != NULL) | 160 | free(bn_data); |
| 161 | free(bn_data); | ||
| 162 | if (t != NULL) | 161 | if (t != NULL) |
| 163 | BN_free(t); | 162 | BN_free(t); |
| 164 | if (!ok && buf) { | 163 | if (!ok && buf) { |
diff --git a/src/lib/libcrypto/conf/conf_api.c b/src/lib/libcrypto/conf/conf_api.c index 98e058dad4..41c5b05fcb 100644 --- a/src/lib/libcrypto/conf/conf_api.c +++ b/src/lib/libcrypto/conf/conf_api.c | |||
| @@ -300,8 +300,7 @@ err: | |||
| 300 | if (!ok) { | 300 | if (!ok) { |
| 301 | if (sk != NULL) | 301 | if (sk != NULL) |
| 302 | sk_CONF_VALUE_free(sk); | 302 | sk_CONF_VALUE_free(sk); |
| 303 | if (v != NULL) | 303 | free(v); |
| 304 | free(v); | ||
| 305 | v = NULL; | 304 | v = NULL; |
| 306 | } | 305 | } |
| 307 | return (v); | 306 | return (v); |
diff --git a/src/lib/libcrypto/conf/conf_def.c b/src/lib/libcrypto/conf/conf_def.c index b3c75e1a9e..b550623e57 100644 --- a/src/lib/libcrypto/conf/conf_def.c +++ b/src/lib/libcrypto/conf/conf_def.c | |||
| @@ -416,15 +416,13 @@ again: | |||
| 416 | } | 416 | } |
| 417 | if (buff != NULL) | 417 | if (buff != NULL) |
| 418 | BUF_MEM_free(buff); | 418 | BUF_MEM_free(buff); |
| 419 | if (section != NULL) | 419 | free(section); |
| 420 | free(section); | ||
| 421 | return (1); | 420 | return (1); |
| 422 | 421 | ||
| 423 | err: | 422 | err: |
| 424 | if (buff != NULL) | 423 | if (buff != NULL) |
| 425 | BUF_MEM_free(buff); | 424 | BUF_MEM_free(buff); |
| 426 | if (section != NULL) | 425 | free(section); |
| 427 | free(section); | ||
| 428 | if (line != NULL) | 426 | if (line != NULL) |
| 429 | *line = eline; | 427 | *line = eline; |
| 430 | ERR_asprintf_error_data("line %ld", eline); | 428 | ERR_asprintf_error_data("line %ld", eline); |
| @@ -433,12 +431,9 @@ err: | |||
| 433 | conf->data = NULL; | 431 | conf->data = NULL; |
| 434 | } | 432 | } |
| 435 | if (v != NULL) { | 433 | if (v != NULL) { |
| 436 | if (v->name != NULL) | 434 | free(v->name); |
| 437 | free(v->name); | 435 | free(v->value); |
| 438 | if (v->value != NULL) | 436 | free(v); |
| 439 | free(v->value); | ||
| 440 | if (v != NULL) | ||
| 441 | free(v); | ||
| 442 | } | 437 | } |
| 443 | return (0); | 438 | return (0); |
| 444 | } | 439 | } |
| @@ -615,8 +610,7 @@ str_copy(CONF *conf, char *section, char **pto, char *from) | |||
| 615 | buf->data[to++] = *(from++); | 610 | buf->data[to++] = *(from++); |
| 616 | } | 611 | } |
| 617 | buf->data[to]='\0'; | 612 | buf->data[to]='\0'; |
| 618 | if (*pto != NULL) | 613 | free(*pto); |
| 619 | free(*pto); | ||
| 620 | *pto = buf->data; | 614 | *pto = buf->data; |
| 621 | free(buf); | 615 | free(buf); |
| 622 | return (1); | 616 | return (1); |
diff --git a/src/lib/libcrypto/dh/dh_ameth.c b/src/lib/libcrypto/dh/dh_ameth.c index 40e0202bff..119ac615a6 100644 --- a/src/lib/libcrypto/dh/dh_ameth.c +++ b/src/lib/libcrypto/dh/dh_ameth.c | |||
| @@ -275,8 +275,7 @@ static int dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey) | |||
| 275 | return 1; | 275 | return 1; |
| 276 | 276 | ||
| 277 | err: | 277 | err: |
| 278 | if (dp != NULL) | 278 | free(dp); |
| 279 | free(dp); | ||
| 280 | if (params != NULL) | 279 | if (params != NULL) |
| 281 | ASN1_STRING_free(params); | 280 | ASN1_STRING_free(params); |
| 282 | if (prkey != NULL) | 281 | if (prkey != NULL) |
diff --git a/src/lib/libcrypto/dsa/dsa_ameth.c b/src/lib/libcrypto/dsa/dsa_ameth.c index 16617d40f5..e2c3980e56 100644 --- a/src/lib/libcrypto/dsa/dsa_ameth.c +++ b/src/lib/libcrypto/dsa/dsa_ameth.c | |||
| @@ -342,8 +342,7 @@ static int dsa_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey) | |||
| 342 | return 1; | 342 | return 1; |
| 343 | 343 | ||
| 344 | err: | 344 | err: |
| 345 | if (dp != NULL) | 345 | free(dp); |
| 346 | free(dp); | ||
| 347 | if (params != NULL) | 346 | if (params != NULL) |
| 348 | ASN1_STRING_free(params); | 347 | ASN1_STRING_free(params); |
| 349 | if (prkey != NULL) | 348 | if (prkey != NULL) |
diff --git a/src/lib/libcrypto/dso/dso_dlfcn.c b/src/lib/libcrypto/dso/dso_dlfcn.c index bebfdcdbc4..87ebdb660d 100644 --- a/src/lib/libcrypto/dso/dso_dlfcn.c +++ b/src/lib/libcrypto/dso/dso_dlfcn.c | |||
| @@ -146,8 +146,7 @@ dlfcn_load(DSO *dso) | |||
| 146 | 146 | ||
| 147 | err: | 147 | err: |
| 148 | /* Cleanup! */ | 148 | /* Cleanup! */ |
| 149 | if (filename != NULL) | 149 | free(filename); |
| 150 | free(filename); | ||
| 151 | if (ptr != NULL) | 150 | if (ptr != NULL) |
| 152 | dlclose(ptr); | 151 | dlclose(ptr); |
| 153 | return (0); | 152 | return (0); |
diff --git a/src/lib/libcrypto/dso/dso_lib.c b/src/lib/libcrypto/dso/dso_lib.c index 3859be7b42..fa1c3c2b54 100644 --- a/src/lib/libcrypto/dso/dso_lib.c +++ b/src/lib/libcrypto/dso/dso_lib.c | |||
| @@ -156,11 +156,8 @@ DSO_free(DSO *dso) | |||
| 156 | } | 156 | } |
| 157 | 157 | ||
| 158 | sk_void_free(dso->meth_data); | 158 | sk_void_free(dso->meth_data); |
| 159 | if (dso->filename != NULL) | 159 | free(dso->filename); |
| 160 | free(dso->filename); | 160 | free(dso->loaded_filename); |
| 161 | if (dso->loaded_filename != NULL) | ||
| 162 | free(dso->loaded_filename); | ||
| 163 | |||
| 164 | free(dso); | 161 | free(dso); |
| 165 | return (1); | 162 | return (1); |
| 166 | } | 163 | } |
diff --git a/src/lib/libcrypto/ec/ec_ameth.c b/src/lib/libcrypto/ec/ec_ameth.c index b41879c431..ec074329f2 100644 --- a/src/lib/libcrypto/ec/ec_ameth.c +++ b/src/lib/libcrypto/ec/ec_ameth.c | |||
| @@ -492,8 +492,7 @@ err: | |||
| 492 | BN_free(order); | 492 | BN_free(order); |
| 493 | if (ctx) | 493 | if (ctx) |
| 494 | BN_CTX_free(ctx); | 494 | BN_CTX_free(ctx); |
| 495 | if (buffer != NULL) | 495 | free(buffer); |
| 496 | free(buffer); | ||
| 497 | return (ret); | 496 | return (ret); |
| 498 | } | 497 | } |
| 499 | 498 | ||
diff --git a/src/lib/libcrypto/ec/ec_asn1.c b/src/lib/libcrypto/ec/ec_asn1.c index 2409cd0886..342db2a992 100644 --- a/src/lib/libcrypto/ec/ec_asn1.c +++ b/src/lib/libcrypto/ec/ec_asn1.c | |||
| @@ -805,8 +805,7 @@ ec_asn1_parameters2group(const ECPARAMETERS * params) | |||
| 805 | } | 805 | } |
| 806 | /* extract seed (optional) */ | 806 | /* extract seed (optional) */ |
| 807 | if (params->curve->seed != NULL) { | 807 | if (params->curve->seed != NULL) { |
| 808 | if (ret->seed != NULL) | 808 | free(ret->seed); |
| 809 | free(ret->seed); | ||
| 810 | if (!(ret->seed = malloc(params->curve->seed->length))) { | 809 | if (!(ret->seed = malloc(params->curve->seed->length))) { |
| 811 | ECerr(EC_F_EC_ASN1_PARAMETERS2GROUP, | 810 | ECerr(EC_F_EC_ASN1_PARAMETERS2GROUP, |
| 812 | ERR_R_MALLOC_FAILURE); | 811 | ERR_R_MALLOC_FAILURE); |
diff --git a/src/lib/libcrypto/ec/ec_mult.c b/src/lib/libcrypto/ec/ec_mult.c index 0fd0cab2f1..8894a8f907 100644 --- a/src/lib/libcrypto/ec/ec_mult.c +++ b/src/lib/libcrypto/ec/ec_mult.c | |||
| @@ -683,10 +683,8 @@ err: | |||
| 683 | BN_CTX_free(new_ctx); | 683 | BN_CTX_free(new_ctx); |
| 684 | if (tmp != NULL) | 684 | if (tmp != NULL) |
| 685 | EC_POINT_free(tmp); | 685 | EC_POINT_free(tmp); |
| 686 | if (wsize != NULL) | 686 | free(wsize); |
| 687 | free(wsize); | 687 | free(wNAF_len); |
| 688 | if (wNAF_len != NULL) | ||
| 689 | free(wNAF_len); | ||
| 690 | if (wNAF != NULL) { | 688 | if (wNAF != NULL) { |
| 691 | signed char **w; | 689 | signed char **w; |
| 692 | 690 | ||
| @@ -698,12 +696,9 @@ err: | |||
| 698 | if (val != NULL) { | 696 | if (val != NULL) { |
| 699 | for (v = val; *v != NULL; v++) | 697 | for (v = val; *v != NULL; v++) |
| 700 | EC_POINT_clear_free(*v); | 698 | EC_POINT_clear_free(*v); |
| 701 | |||
| 702 | free(val); | 699 | free(val); |
| 703 | } | 700 | } |
| 704 | if (val_sub != NULL) { | 701 | free(val_sub); |
| 705 | free(val_sub); | ||
| 706 | } | ||
| 707 | return ret; | 702 | return ret; |
| 708 | } | 703 | } |
| 709 | 704 | ||
diff --git a/src/lib/libcrypto/ec/eck_prn.c b/src/lib/libcrypto/ec/eck_prn.c index 3f2973e5b6..60b00fddb3 100644 --- a/src/lib/libcrypto/ec/eck_prn.c +++ b/src/lib/libcrypto/ec/eck_prn.c | |||
| @@ -325,8 +325,7 @@ err: | |||
| 325 | BN_free(cofactor); | 325 | BN_free(cofactor); |
| 326 | if (ctx) | 326 | if (ctx) |
| 327 | BN_CTX_free(ctx); | 327 | BN_CTX_free(ctx); |
| 328 | if (buffer != NULL) | 328 | free(buffer); |
| 329 | free(buffer); | ||
| 330 | return (ret); | 329 | return (ret); |
| 331 | } | 330 | } |
| 332 | 331 | ||
diff --git a/src/lib/libcrypto/ec/ecp_nistp224.c b/src/lib/libcrypto/ec/ecp_nistp224.c index 6e9b9fac3c..afe25853e6 100644 --- a/src/lib/libcrypto/ec/ecp_nistp224.c +++ b/src/lib/libcrypto/ec/ecp_nistp224.c | |||
| @@ -1546,12 +1546,9 @@ err: | |||
| 1546 | EC_POINT_free(generator); | 1546 | EC_POINT_free(generator); |
| 1547 | if (new_ctx != NULL) | 1547 | if (new_ctx != NULL) |
| 1548 | BN_CTX_free(new_ctx); | 1548 | BN_CTX_free(new_ctx); |
| 1549 | if (secrets != NULL) | 1549 | free(secrets); |
| 1550 | free(secrets); | 1550 | free(pre_comp); |
| 1551 | if (pre_comp != NULL) | 1551 | free(tmp_felems); |
| 1552 | free(pre_comp); | ||
| 1553 | if (tmp_felems != NULL) | ||
| 1554 | free(tmp_felems); | ||
| 1555 | return ret; | 1552 | return ret; |
| 1556 | } | 1553 | } |
| 1557 | 1554 | ||
diff --git a/src/lib/libcrypto/ec/ecp_nistp256.c b/src/lib/libcrypto/ec/ecp_nistp256.c index b2398e106c..7fe7be27de 100644 --- a/src/lib/libcrypto/ec/ecp_nistp256.c +++ b/src/lib/libcrypto/ec/ecp_nistp256.c | |||
| @@ -2101,12 +2101,9 @@ err: | |||
| 2101 | EC_POINT_free(generator); | 2101 | EC_POINT_free(generator); |
| 2102 | if (new_ctx != NULL) | 2102 | if (new_ctx != NULL) |
| 2103 | BN_CTX_free(new_ctx); | 2103 | BN_CTX_free(new_ctx); |
| 2104 | if (secrets != NULL) | 2104 | free(secrets); |
| 2105 | free(secrets); | 2105 | free(pre_comp); |
| 2106 | if (pre_comp != NULL) | 2106 | free(tmp_smallfelems); |
| 2107 | free(pre_comp); | ||
| 2108 | if (tmp_smallfelems != NULL) | ||
| 2109 | free(tmp_smallfelems); | ||
| 2110 | return ret; | 2107 | return ret; |
| 2111 | } | 2108 | } |
| 2112 | 2109 | ||
diff --git a/src/lib/libcrypto/ec/ecp_nistp521.c b/src/lib/libcrypto/ec/ecp_nistp521.c index 083e017cdc..5d5a747ee8 100644 --- a/src/lib/libcrypto/ec/ecp_nistp521.c +++ b/src/lib/libcrypto/ec/ecp_nistp521.c | |||
| @@ -1988,12 +1988,9 @@ err: | |||
| 1988 | EC_POINT_free(generator); | 1988 | EC_POINT_free(generator); |
| 1989 | if (new_ctx != NULL) | 1989 | if (new_ctx != NULL) |
| 1990 | BN_CTX_free(new_ctx); | 1990 | BN_CTX_free(new_ctx); |
| 1991 | if (secrets != NULL) | 1991 | free(secrets); |
| 1992 | free(secrets); | 1992 | free(pre_comp); |
| 1993 | if (pre_comp != NULL) | 1993 | free(tmp_felems); |
| 1994 | free(pre_comp); | ||
| 1995 | if (tmp_felems != NULL) | ||
| 1996 | free(tmp_felems); | ||
| 1997 | return ret; | 1994 | return ret; |
| 1998 | } | 1995 | } |
| 1999 | 1996 | ||
diff --git a/src/lib/libcrypto/engine/eng_dyn.c b/src/lib/libcrypto/engine/eng_dyn.c index f59d768350..e2de4603ee 100644 --- a/src/lib/libcrypto/engine/eng_dyn.c +++ b/src/lib/libcrypto/engine/eng_dyn.c | |||
| @@ -169,10 +169,8 @@ static void dynamic_data_ctx_free_func(void *parent, void *ptr, | |||
| 169 | dynamic_data_ctx *ctx = (dynamic_data_ctx *)ptr; | 169 | dynamic_data_ctx *ctx = (dynamic_data_ctx *)ptr; |
| 170 | if(ctx->dynamic_dso) | 170 | if(ctx->dynamic_dso) |
| 171 | DSO_free(ctx->dynamic_dso); | 171 | DSO_free(ctx->dynamic_dso); |
| 172 | if(ctx->DYNAMIC_LIBNAME) | 172 | free((void *)ctx->DYNAMIC_LIBNAME); |
| 173 | free((void*)ctx->DYNAMIC_LIBNAME); | 173 | free((void *)ctx->engine_id); |
| 174 | if(ctx->engine_id) | ||
| 175 | free((void*)ctx->engine_id); | ||
| 176 | if(ctx->dirs) | 174 | if(ctx->dirs) |
| 177 | sk_OPENSSL_STRING_pop_free(ctx->dirs, int_free_str); | 175 | sk_OPENSSL_STRING_pop_free(ctx->dirs, int_free_str); |
| 178 | free(ctx); | 176 | free(ctx); |
| @@ -335,8 +333,7 @@ static int dynamic_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)(void)) | |||
| 335 | /* a NULL 'p' or a string of zero-length is the same thing */ | 333 | /* a NULL 'p' or a string of zero-length is the same thing */ |
| 336 | if(p && (strlen((const char *)p) < 1)) | 334 | if(p && (strlen((const char *)p) < 1)) |
| 337 | p = NULL; | 335 | p = NULL; |
| 338 | if(ctx->DYNAMIC_LIBNAME) | 336 | free((void *)ctx->DYNAMIC_LIBNAME); |
| 339 | free((void*)ctx->DYNAMIC_LIBNAME); | ||
| 340 | if(p) | 337 | if(p) |
| 341 | ctx->DYNAMIC_LIBNAME = BUF_strdup(p); | 338 | ctx->DYNAMIC_LIBNAME = BUF_strdup(p); |
| 342 | else | 339 | else |
| @@ -349,8 +346,7 @@ static int dynamic_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)(void)) | |||
| 349 | /* a NULL 'p' or a string of zero-length is the same thing */ | 346 | /* a NULL 'p' or a string of zero-length is the same thing */ |
| 350 | if(p && (strlen((const char *)p) < 1)) | 347 | if(p && (strlen((const char *)p) < 1)) |
| 351 | p = NULL; | 348 | p = NULL; |
| 352 | if(ctx->engine_id) | 349 | free((void *)ctx->engine_id); |
| 353 | free((void*)ctx->engine_id); | ||
| 354 | if(p) | 350 | if(p) |
| 355 | ctx->engine_id = BUF_strdup(p); | 351 | ctx->engine_id = BUF_strdup(p); |
| 356 | else | 352 | else |
diff --git a/src/lib/libcrypto/objects/obj_dat.c b/src/lib/libcrypto/objects/obj_dat.c index e31940da45..a71959222f 100644 --- a/src/lib/libcrypto/objects/obj_dat.c +++ b/src/lib/libcrypto/objects/obj_dat.c | |||
| @@ -294,8 +294,7 @@ OBJ_add_object(const ASN1_OBJECT *obj) | |||
| 294 | ao[i]->obj = o; | 294 | ao[i]->obj = o; |
| 295 | aop = lh_ADDED_OBJ_insert(added, ao[i]); | 295 | aop = lh_ADDED_OBJ_insert(added, ao[i]); |
| 296 | /* memory leak, buit should not normally matter */ | 296 | /* memory leak, buit should not normally matter */ |
| 297 | if (aop != NULL) | 297 | free(aop); |
| 298 | free(aop); | ||
| 299 | } | 298 | } |
| 300 | } | 299 | } |
| 301 | o->flags &= ~(ASN1_OBJECT_FLAG_DYNAMIC | | 300 | o->flags &= ~(ASN1_OBJECT_FLAG_DYNAMIC | |
| @@ -308,10 +307,8 @@ err2: | |||
| 308 | OBJerr(OBJ_F_OBJ_ADD_OBJECT, ERR_R_MALLOC_FAILURE); | 307 | OBJerr(OBJ_F_OBJ_ADD_OBJECT, ERR_R_MALLOC_FAILURE); |
| 309 | err: | 308 | err: |
| 310 | for (i = ADDED_DATA; i <= ADDED_NID; i++) | 309 | for (i = ADDED_DATA; i <= ADDED_NID; i++) |
| 311 | if (ao[i] != NULL) | 310 | free(ao[i]); |
| 312 | free(ao[i]); | 311 | free(o); |
| 313 | if (o != NULL) | ||
| 314 | free(o); | ||
| 315 | return (NID_undef); | 312 | return (NID_undef); |
| 316 | } | 313 | } |
| 317 | 314 | ||
diff --git a/src/lib/libcrypto/objects/obj_lib.c b/src/lib/libcrypto/objects/obj_lib.c index 57f0b28cc0..25bc8fb5ee 100644 --- a/src/lib/libcrypto/objects/obj_lib.c +++ b/src/lib/libcrypto/objects/obj_lib.c | |||
| @@ -114,14 +114,10 @@ OBJ_dup(const ASN1_OBJECT *o) | |||
| 114 | 114 | ||
| 115 | err: | 115 | err: |
| 116 | OBJerr(OBJ_F_OBJ_DUP, ERR_R_MALLOC_FAILURE); | 116 | OBJerr(OBJ_F_OBJ_DUP, ERR_R_MALLOC_FAILURE); |
| 117 | if (ln != NULL) | 117 | free(ln); |
| 118 | free(ln); | 118 | free(sn); |
| 119 | if (sn != NULL) | 119 | free(data); |
| 120 | free(sn); | 120 | free(r); |
| 121 | if (data != NULL) | ||
| 122 | free(data); | ||
| 123 | if (r != NULL) | ||
| 124 | free(r); | ||
| 125 | return (NULL); | 121 | return (NULL); |
| 126 | } | 122 | } |
| 127 | 123 | ||
diff --git a/src/lib/libcrypto/pem/pem_info.c b/src/lib/libcrypto/pem/pem_info.c index 40600e30f3..7605c7653c 100644 --- a/src/lib/libcrypto/pem/pem_info.c +++ b/src/lib/libcrypto/pem/pem_info.c | |||
| @@ -256,12 +256,9 @@ start: | |||
| 256 | } else { | 256 | } else { |
| 257 | /* unknown */ | 257 | /* unknown */ |
| 258 | } | 258 | } |
| 259 | if (name != NULL) | 259 | free(name); |
| 260 | free(name); | 260 | free(header); |
| 261 | if (header != NULL) | 261 | free(data); |
| 262 | free(header); | ||
| 263 | if (data != NULL) | ||
| 264 | free(data); | ||
| 265 | name = NULL; | 262 | name = NULL; |
| 266 | header = NULL; | 263 | header = NULL; |
| 267 | data = NULL; | 264 | data = NULL; |
| @@ -291,12 +288,9 @@ err: | |||
| 291 | ret = NULL; | 288 | ret = NULL; |
| 292 | } | 289 | } |
| 293 | 290 | ||
| 294 | if (name != NULL) | 291 | free(name); |
| 295 | free(name); | 292 | free(header); |
| 296 | if (header != NULL) | 293 | free(data); |
| 297 | free(header); | ||
| 298 | if (data != NULL) | ||
| 299 | free(data); | ||
| 300 | return (ret); | 294 | return (ret); |
| 301 | } | 295 | } |
| 302 | 296 | ||
diff --git a/src/lib/libcrypto/pem/pem_seal.c b/src/lib/libcrypto/pem/pem_seal.c index a7b9379223..e6e73dd23d 100644 --- a/src/lib/libcrypto/pem/pem_seal.c +++ b/src/lib/libcrypto/pem/pem_seal.c | |||
| @@ -113,8 +113,7 @@ PEM_SealInit(PEM_ENCODE_SEAL_CTX *ctx, EVP_CIPHER *type, EVP_MD *md_type, | |||
| 113 | ret = npubk; | 113 | ret = npubk; |
| 114 | 114 | ||
| 115 | err: | 115 | err: |
| 116 | if (s != NULL) | 116 | free(s); |
| 117 | free(s); | ||
| 118 | OPENSSL_cleanse(key, EVP_MAX_KEY_LENGTH); | 117 | OPENSSL_cleanse(key, EVP_MAX_KEY_LENGTH); |
| 119 | return (ret); | 118 | return (ret); |
| 120 | } | 119 | } |
| @@ -182,8 +181,7 @@ PEM_SealFinal(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *sig, int *sigl, | |||
| 182 | err: | 181 | err: |
| 183 | EVP_MD_CTX_cleanup(&ctx->md); | 182 | EVP_MD_CTX_cleanup(&ctx->md); |
| 184 | EVP_CIPHER_CTX_cleanup(&ctx->cipher); | 183 | EVP_CIPHER_CTX_cleanup(&ctx->cipher); |
| 185 | if (s != NULL) | 184 | free(s); |
| 186 | free(s); | ||
| 187 | return (ret); | 185 | return (ret); |
| 188 | } | 186 | } |
| 189 | #endif | 187 | #endif |
diff --git a/src/lib/libcrypto/pem/pem_sign.c b/src/lib/libcrypto/pem/pem_sign.c index 8a6bcc8d8d..bfe7823e3d 100644 --- a/src/lib/libcrypto/pem/pem_sign.c +++ b/src/lib/libcrypto/pem/pem_sign.c | |||
| @@ -100,7 +100,6 @@ PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, unsigned int *siglen, | |||
| 100 | 100 | ||
| 101 | err: | 101 | err: |
| 102 | /* ctx has been zeroed by EVP_SignFinal() */ | 102 | /* ctx has been zeroed by EVP_SignFinal() */ |
| 103 | if (m != NULL) | 103 | free(m); |
| 104 | free(m); | ||
| 105 | return (ret); | 104 | return (ret); |
| 106 | } | 105 | } |
diff --git a/src/lib/libcrypto/stack/stack.c b/src/lib/libcrypto/stack/stack.c index 7eb00fd6e4..80ad087753 100644 --- a/src/lib/libcrypto/stack/stack.c +++ b/src/lib/libcrypto/stack/stack.c | |||
| @@ -297,8 +297,7 @@ sk_free(_STACK *st) | |||
| 297 | { | 297 | { |
| 298 | if (st == NULL) | 298 | if (st == NULL) |
| 299 | return; | 299 | return; |
| 300 | if (st->data != NULL) | 300 | free(st->data); |
| 301 | free(st->data); | ||
| 302 | free(st); | 301 | free(st); |
| 303 | } | 302 | } |
| 304 | 303 | ||
diff --git a/src/lib/libcrypto/txt_db/txt_db.c b/src/lib/libcrypto/txt_db/txt_db.c index e29a60316a..3f7fea6d2a 100644 --- a/src/lib/libcrypto/txt_db/txt_db.c +++ b/src/lib/libcrypto/txt_db/txt_db.c | |||
| @@ -178,12 +178,9 @@ err: | |||
| 178 | if (ret != NULL) { | 178 | if (ret != NULL) { |
| 179 | if (ret->data != NULL) | 179 | if (ret->data != NULL) |
| 180 | sk_OPENSSL_PSTRING_free(ret->data); | 180 | sk_OPENSSL_PSTRING_free(ret->data); |
| 181 | if (ret->index != NULL) | 181 | free(ret->index); |
| 182 | free(ret->index); | 182 | free(ret->qual); |
| 183 | if (ret->qual != NULL) | 183 | free(ret); |
| 184 | free(ret->qual); | ||
| 185 | if (ret != NULL) | ||
| 186 | free(ret); | ||
| 187 | } | 184 | } |
| 188 | return (NULL); | 185 | return (NULL); |
| 189 | } else | 186 | } else |
| @@ -350,8 +347,7 @@ TXT_DB_free(TXT_DB *db) | |||
| 350 | lh_OPENSSL_STRING_free(db->index[i]); | 347 | lh_OPENSSL_STRING_free(db->index[i]); |
| 351 | free(db->index); | 348 | free(db->index); |
| 352 | } | 349 | } |
| 353 | if (db->qual != NULL) | 350 | free(db->qual); |
| 354 | free(db->qual); | ||
| 355 | if (db->data != NULL) { | 351 | if (db->data != NULL) { |
| 356 | for (i = sk_OPENSSL_PSTRING_num(db->data) - 1; i >= 0; i--) { | 352 | for (i = sk_OPENSSL_PSTRING_num(db->data) - 1; i >= 0; i--) { |
| 357 | /* check if any 'fields' have been allocated | 353 | /* check if any 'fields' have been allocated |
| @@ -361,8 +357,7 @@ TXT_DB_free(TXT_DB *db) | |||
| 361 | if (max == NULL) /* new row */ | 357 | if (max == NULL) /* new row */ |
| 362 | { | 358 | { |
| 363 | for (n = 0; n < db->num_fields; n++) | 359 | for (n = 0; n < db->num_fields; n++) |
| 364 | if (p[n] != NULL) | 360 | free(p[n]); |
| 365 | free(p[n]); | ||
| 366 | } else { | 361 | } else { |
| 367 | for (n = 0; n < db->num_fields; n++) { | 362 | for (n = 0; n < db->num_fields; n++) { |
| 368 | if (((p[n] < (char *)p) || | 363 | if (((p[n] < (char *)p) || |
diff --git a/src/lib/libcrypto/x509v3/v3_prn.c b/src/lib/libcrypto/x509v3/v3_prn.c index ff08534f9a..d06932aef1 100644 --- a/src/lib/libcrypto/x509v3/v3_prn.c +++ b/src/lib/libcrypto/x509v3/v3_prn.c | |||
| @@ -143,8 +143,7 @@ X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, int indent) | |||
| 143 | 143 | ||
| 144 | err: | 144 | err: |
| 145 | sk_CONF_VALUE_pop_free(nval, X509V3_conf_free); | 145 | sk_CONF_VALUE_pop_free(nval, X509V3_conf_free); |
| 146 | if (value) | 146 | free(value); |
| 147 | free(value); | ||
| 148 | if (method->it) | 147 | if (method->it) |
| 149 | ASN1_item_free(ext_str, ASN1_ITEM_ptr(method->it)); | 148 | ASN1_item_free(ext_str, ASN1_ITEM_ptr(method->it)); |
| 150 | else | 149 | else |
diff --git a/src/lib/libcrypto/x509v3/v3_utl.c b/src/lib/libcrypto/x509v3/v3_utl.c index 0b389807dd..3134feff21 100644 --- a/src/lib/libcrypto/x509v3/v3_utl.c +++ b/src/lib/libcrypto/x509v3/v3_utl.c | |||
| @@ -103,12 +103,9 @@ X509V3_add_value(const char *name, const char *value, | |||
| 103 | 103 | ||
| 104 | err: | 104 | err: |
| 105 | X509V3err(X509V3_F_X509V3_ADD_VALUE, ERR_R_MALLOC_FAILURE); | 105 | X509V3err(X509V3_F_X509V3_ADD_VALUE, ERR_R_MALLOC_FAILURE); |
| 106 | if (vtmp) | 106 | free(vtmp); |
| 107 | free(vtmp); | 107 | free(tname); |
| 108 | if (tname) | 108 | free(tvalue); |
| 109 | free(tname); | ||
| 110 | if (tvalue) | ||
| 111 | free(tvalue); | ||
| 112 | return 0; | 109 | return 0; |
| 113 | } | 110 | } |
| 114 | 111 | ||
| @@ -126,12 +123,9 @@ X509V3_conf_free(CONF_VALUE *conf) | |||
| 126 | { | 123 | { |
| 127 | if (!conf) | 124 | if (!conf) |
| 128 | return; | 125 | return; |
| 129 | if (conf->name) | 126 | free(conf->name); |
| 130 | free(conf->name); | 127 | free(conf->value); |
| 131 | if (conf->value) | 128 | free(conf->section); |
| 132 | free(conf->value); | ||
| 133 | if (conf->section) | ||
| 134 | free(conf->section); | ||
| 135 | free(conf); | 129 | free(conf); |
| 136 | } | 130 | } |
| 137 | 131 | ||
