diff options
author | deraadt <> | 2014-05-30 06:22:57 +0000 |
---|---|---|
committer | deraadt <> | 2014-05-30 06:22:57 +0000 |
commit | abd9b10898e82011a65d8e8fca56bf56532edd69 (patch) | |
tree | 1ff700d79cee9e764329e5c50d7eb8d5109789cc | |
parent | 2ff11427d41a52cb126e9892413db066f8ae166a (diff) | |
download | openbsd-abd9b10898e82011a65d8e8fca56bf56532edd69.tar.gz openbsd-abd9b10898e82011a65d8e8fca56bf56532edd69.tar.bz2 openbsd-abd9b10898e82011a65d8e8fca56bf56532edd69.zip |
more: no need for null check before free
ok tedu guenther
88 files changed, 206 insertions, 424 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 | ||
diff --git a/src/lib/libssl/src/crypto/asn1/a_bitstr.c b/src/lib/libssl/src/crypto/asn1/a_bitstr.c index f3cce8b536..058a3ccc5f 100644 --- a/src/lib/libssl/src/crypto/asn1/a_bitstr.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/asn1/a_bytes.c b/src/lib/libssl/src/crypto/asn1/a_bytes.c index 6cc774e782..0d26e46681 100644 --- a/src/lib/libssl/src/crypto/asn1/a_bytes.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/asn1/a_enum.c b/src/lib/libssl/src/crypto/asn1/a_enum.c index aa28c7c8d7..b514288782 100644 --- a/src/lib/libssl/src/crypto/asn1/a_enum.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/asn1/a_gentm.c b/src/lib/libssl/src/crypto/asn1/a_gentm.c index 7f8bc2fef7..e9881943a1 100644 --- a/src/lib/libssl/src/crypto/asn1/a_gentm.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/asn1/a_int.c b/src/lib/libssl/src/crypto/asn1/a_int.c index 0559cce384..881f08a766 100644 --- a/src/lib/libssl/src/crypto/asn1/a_int.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/asn1/a_object.c b/src/lib/libssl/src/crypto/asn1/a_object.c index b3a7e672ee..34221e0e98 100644 --- a/src/lib/libssl/src/crypto/asn1/a_object.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/asn1/a_sign.c b/src/lib/libssl/src/crypto/asn1/a_sign.c index 40c6809669..2705a0402e 100644 --- a/src/lib/libssl/src/crypto/asn1/a_sign.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/asn1/a_utctm.c b/src/lib/libssl/src/crypto/asn1/a_utctm.c index 35f2b7fd66..b8e5b7afc1 100644 --- a/src/lib/libssl/src/crypto/asn1/a_utctm.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/asn1/asn1_gen.c b/src/lib/libssl/src/crypto/asn1/asn1_gen.c index 7abbac6059..8ab8944d64 100644 --- a/src/lib/libssl/src/crypto/asn1/asn1_gen.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/asn1/t_x509.c b/src/lib/libssl/src/crypto/asn1/t_x509.c index efba93adeb..f1c045e0e6 100644 --- a/src/lib/libssl/src/crypto/asn1/t_x509.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/asn1/x_info.c b/src/lib/libssl/src/crypto/asn1/x_info.c index 2d1bf0d22d..b17d7ace11 100644 --- a/src/lib/libssl/src/crypto/asn1/x_info.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/asn1/x_x509.c b/src/lib/libssl/src/crypto/asn1/x_x509.c index e93d97d2c4..7053bb87eb 100644 --- a/src/lib/libssl/src/crypto/asn1/x_x509.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/bio/b_sock.c b/src/lib/libssl/src/crypto/bio/b_sock.c index a9c4408a09..c7a10ca348 100644 --- a/src/lib/libssl/src/crypto/bio/b_sock.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/bio/bf_buff.c b/src/lib/libssl/src/crypto/bio/bf_buff.c index e96da40a58..0866c8c7a3 100644 --- a/src/lib/libssl/src/crypto/bio/bf_buff.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/bio/bf_lbuf.c b/src/lib/libssl/src/crypto/bio/bf_lbuf.c index 54c370d038..42c0e1dca5 100644 --- a/src/lib/libssl/src/crypto/bio/bf_lbuf.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/bio/bf_nbio.c b/src/lib/libssl/src/crypto/bio/bf_nbio.c index 5a0f6b276a..9b0ec7d41f 100644 --- a/src/lib/libssl/src/crypto/bio/bf_nbio.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/bio/bss_acpt.c b/src/lib/libssl/src/crypto/bio/bss_acpt.c index 943d3d9d96..d246aba681 100644 --- a/src/lib/libssl/src/crypto/bio/bss_acpt.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/bio/bss_bio.c b/src/lib/libssl/src/crypto/bio/bss_bio.c index eda2e2a55c..519002beed 100644 --- a/src/lib/libssl/src/crypto/bio/bss_bio.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/bio/bss_conn.c b/src/lib/libssl/src/crypto/bio/bss_conn.c index 7ed8f1fe31..a31e5a170b 100644 --- a/src/lib/libssl/src/crypto/bio/bss_conn.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/bio/bss_dgram.c b/src/lib/libssl/src/crypto/bio/bss_dgram.c index 8f7439c51e..9160fe4018 100644 --- a/src/lib/libssl/src/crypto/bio/bss_dgram.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/bn/bn_print.c b/src/lib/libssl/src/crypto/bn/bn_print.c index ea5fa5c3da..ad3a847f01 100644 --- a/src/lib/libssl/src/crypto/bn/bn_print.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/conf/conf_api.c b/src/lib/libssl/src/crypto/conf/conf_api.c index 98e058dad4..41c5b05fcb 100644 --- a/src/lib/libssl/src/crypto/conf/conf_api.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/conf/conf_def.c b/src/lib/libssl/src/crypto/conf/conf_def.c index b3c75e1a9e..b550623e57 100644 --- a/src/lib/libssl/src/crypto/conf/conf_def.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/dh/dh_ameth.c b/src/lib/libssl/src/crypto/dh/dh_ameth.c index 40e0202bff..119ac615a6 100644 --- a/src/lib/libssl/src/crypto/dh/dh_ameth.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/dsa/dsa_ameth.c b/src/lib/libssl/src/crypto/dsa/dsa_ameth.c index 16617d40f5..e2c3980e56 100644 --- a/src/lib/libssl/src/crypto/dsa/dsa_ameth.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/dso/dso_dlfcn.c b/src/lib/libssl/src/crypto/dso/dso_dlfcn.c index bebfdcdbc4..87ebdb660d 100644 --- a/src/lib/libssl/src/crypto/dso/dso_dlfcn.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/dso/dso_lib.c b/src/lib/libssl/src/crypto/dso/dso_lib.c index 3859be7b42..fa1c3c2b54 100644 --- a/src/lib/libssl/src/crypto/dso/dso_lib.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/ec/ec_ameth.c b/src/lib/libssl/src/crypto/ec/ec_ameth.c index b41879c431..ec074329f2 100644 --- a/src/lib/libssl/src/crypto/ec/ec_ameth.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/ec/ec_asn1.c b/src/lib/libssl/src/crypto/ec/ec_asn1.c index 2409cd0886..342db2a992 100644 --- a/src/lib/libssl/src/crypto/ec/ec_asn1.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/ec/ec_mult.c b/src/lib/libssl/src/crypto/ec/ec_mult.c index 0fd0cab2f1..8894a8f907 100644 --- a/src/lib/libssl/src/crypto/ec/ec_mult.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/ec/eck_prn.c b/src/lib/libssl/src/crypto/ec/eck_prn.c index 3f2973e5b6..60b00fddb3 100644 --- a/src/lib/libssl/src/crypto/ec/eck_prn.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/ec/ecp_nistp224.c b/src/lib/libssl/src/crypto/ec/ecp_nistp224.c index 6e9b9fac3c..afe25853e6 100644 --- a/src/lib/libssl/src/crypto/ec/ecp_nistp224.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/ec/ecp_nistp256.c b/src/lib/libssl/src/crypto/ec/ecp_nistp256.c index b2398e106c..7fe7be27de 100644 --- a/src/lib/libssl/src/crypto/ec/ecp_nistp256.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/ec/ecp_nistp521.c b/src/lib/libssl/src/crypto/ec/ecp_nistp521.c index 083e017cdc..5d5a747ee8 100644 --- a/src/lib/libssl/src/crypto/ec/ecp_nistp521.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/engine/eng_dyn.c b/src/lib/libssl/src/crypto/engine/eng_dyn.c index f59d768350..e2de4603ee 100644 --- a/src/lib/libssl/src/crypto/engine/eng_dyn.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/objects/obj_dat.c b/src/lib/libssl/src/crypto/objects/obj_dat.c index e31940da45..a71959222f 100644 --- a/src/lib/libssl/src/crypto/objects/obj_dat.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/objects/obj_lib.c b/src/lib/libssl/src/crypto/objects/obj_lib.c index 57f0b28cc0..25bc8fb5ee 100644 --- a/src/lib/libssl/src/crypto/objects/obj_lib.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/pem/pem_info.c b/src/lib/libssl/src/crypto/pem/pem_info.c index 40600e30f3..7605c7653c 100644 --- a/src/lib/libssl/src/crypto/pem/pem_info.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/pem/pem_seal.c b/src/lib/libssl/src/crypto/pem/pem_seal.c index a7b9379223..e6e73dd23d 100644 --- a/src/lib/libssl/src/crypto/pem/pem_seal.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/pem/pem_sign.c b/src/lib/libssl/src/crypto/pem/pem_sign.c index 8a6bcc8d8d..bfe7823e3d 100644 --- a/src/lib/libssl/src/crypto/pem/pem_sign.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/stack/stack.c b/src/lib/libssl/src/crypto/stack/stack.c index 7eb00fd6e4..80ad087753 100644 --- a/src/lib/libssl/src/crypto/stack/stack.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/txt_db/txt_db.c b/src/lib/libssl/src/crypto/txt_db/txt_db.c index e29a60316a..3f7fea6d2a 100644 --- a/src/lib/libssl/src/crypto/txt_db/txt_db.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/x509v3/v3_prn.c b/src/lib/libssl/src/crypto/x509v3/v3_prn.c index ff08534f9a..d06932aef1 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_prn.c +++ b/src/lib/libssl/src/crypto/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/libssl/src/crypto/x509v3/v3_utl.c b/src/lib/libssl/src/crypto/x509v3/v3_utl.c index 0b389807dd..3134feff21 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_utl.c +++ b/src/lib/libssl/src/crypto/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 | ||