diff options
author | tedu <> | 2014-07-09 22:55:17 +0000 |
---|---|---|
committer | tedu <> | 2014-07-09 22:55:17 +0000 |
commit | 5ec69e74aa00653b339f3f526529cd3c926c657a (patch) | |
tree | 1abb2b63f090ef7e75fd385ebcb478b3f21f5c06 | |
parent | 555f9c8f48cb40e936e75dc7774680f7ba3e608d (diff) | |
download | openbsd-5ec69e74aa00653b339f3f526529cd3c926c657a.tar.gz openbsd-5ec69e74aa00653b339f3f526529cd3c926c657a.tar.bz2 openbsd-5ec69e74aa00653b339f3f526529cd3c926c657a.zip |
ASN1_STRING_free can handle NULL, so callers don't need to check. ok miod
-rw-r--r-- | src/lib/libcrypto/asn1/a_bytes.c | 12 | ||||
-rw-r--r-- | src/lib/libcrypto/asn1/p5_pbe.c | 5 | ||||
-rw-r--r-- | src/lib/libcrypto/dh/dh_ameth.c | 11 | ||||
-rw-r--r-- | src/lib/libcrypto/dsa/dsa_ameth.c | 11 | ||||
-rw-r--r-- | src/lib/libcrypto/rsa/rsa_ameth.c | 5 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/asn1/a_bytes.c | 12 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/asn1/p5_pbe.c | 5 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/dh/dh_ameth.c | 11 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/dsa/dsa_ameth.c | 11 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/rsa/rsa_ameth.c | 5 |
10 files changed, 34 insertions, 54 deletions
diff --git a/src/lib/libcrypto/asn1/a_bytes.c b/src/lib/libcrypto/asn1/a_bytes.c index 5b669bf07a..61910be5fe 100644 --- a/src/lib/libcrypto/asn1/a_bytes.c +++ b/src/lib/libcrypto/asn1/a_bytes.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: a_bytes.c,v 1.14 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: a_bytes.c,v 1.15 2014/07/09 22:55:17 tedu Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -121,7 +121,7 @@ d2i_ASN1_type_bytes(ASN1_STRING **a, const unsigned char **pp, | |||
121 | 121 | ||
122 | err: | 122 | err: |
123 | ASN1err(ASN1_F_D2I_ASN1_TYPE_BYTES, i); | 123 | ASN1err(ASN1_F_D2I_ASN1_TYPE_BYTES, i); |
124 | if ((ret != NULL) && ((a == NULL) || (*a != ret))) | 124 | if (a == NULL || *a != ret) |
125 | ASN1_STRING_free(ret); | 125 | ASN1_STRING_free(ret); |
126 | return (NULL); | 126 | return (NULL); |
127 | } | 127 | } |
@@ -230,7 +230,7 @@ d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, | |||
230 | return (ret); | 230 | return (ret); |
231 | 231 | ||
232 | err: | 232 | err: |
233 | if ((ret != NULL) && ((a == NULL) || (*a != ret))) | 233 | if (a == NULL || *a != ret) |
234 | ASN1_STRING_free(ret); | 234 | ASN1_STRING_free(ret); |
235 | ASN1err(ASN1_F_D2I_ASN1_BYTES, i); | 235 | ASN1err(ASN1_F_D2I_ASN1_BYTES, i); |
236 | return (NULL); | 236 | return (NULL); |
@@ -292,14 +292,12 @@ asn1_collate_primitive(ASN1_STRING *a, ASN1_const_CTX *c) | |||
292 | a->length = num; | 292 | a->length = num; |
293 | free(a->data); | 293 | free(a->data); |
294 | a->data = (unsigned char *)b.data; | 294 | a->data = (unsigned char *)b.data; |
295 | if (os != NULL) | 295 | ASN1_STRING_free(os); |
296 | ASN1_STRING_free(os); | ||
297 | return (1); | 296 | return (1); |
298 | 297 | ||
299 | err: | 298 | err: |
300 | ASN1err(ASN1_F_ASN1_COLLATE_PRIMITIVE, c->error); | 299 | ASN1err(ASN1_F_ASN1_COLLATE_PRIMITIVE, c->error); |
301 | if (os != NULL) | 300 | ASN1_STRING_free(os); |
302 | ASN1_STRING_free(os); | ||
303 | free(b.data); | 301 | free(b.data); |
304 | return (0); | 302 | return (0); |
305 | } | 303 | } |
diff --git a/src/lib/libcrypto/asn1/p5_pbe.c b/src/lib/libcrypto/asn1/p5_pbe.c index 2b538caac3..19a88c20f1 100644 --- a/src/lib/libcrypto/asn1/p5_pbe.c +++ b/src/lib/libcrypto/asn1/p5_pbe.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: p5_pbe.c,v 1.13 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: p5_pbe.c,v 1.14 2014/07/09 22:55:17 tedu Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 1999. | 3 | * project 1999. |
4 | */ | 4 | */ |
@@ -119,8 +119,7 @@ PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, | |||
119 | err: | 119 | err: |
120 | if (pbe != NULL) | 120 | if (pbe != NULL) |
121 | PBEPARAM_free(pbe); | 121 | PBEPARAM_free(pbe); |
122 | if (pbe_str != NULL) | 122 | ASN1_STRING_free(pbe_str); |
123 | ASN1_STRING_free(pbe_str); | ||
124 | return 0; | 123 | return 0; |
125 | } | 124 | } |
126 | 125 | ||
diff --git a/src/lib/libcrypto/dh/dh_ameth.c b/src/lib/libcrypto/dh/dh_ameth.c index 9e911c8779..21714bb748 100644 --- a/src/lib/libcrypto/dh/dh_ameth.c +++ b/src/lib/libcrypto/dh/dh_ameth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: dh_ameth.c,v 1.9 2014/07/09 13:26:47 miod Exp $ */ | 1 | /* $OpenBSD: dh_ameth.c,v 1.10 2014/07/09 22:55:17 tedu Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 2006. | 3 | * project 2006. |
4 | */ | 4 | */ |
@@ -167,8 +167,7 @@ dh_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey) | |||
167 | 167 | ||
168 | err: | 168 | err: |
169 | free(penc); | 169 | free(penc); |
170 | if (str) | 170 | ASN1_STRING_free(str); |
171 | ASN1_STRING_free(str); | ||
172 | 171 | ||
173 | return 0; | 172 | return 0; |
174 | } | 173 | } |
@@ -271,10 +270,8 @@ dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey) | |||
271 | 270 | ||
272 | err: | 271 | err: |
273 | free(dp); | 272 | free(dp); |
274 | if (params != NULL) | 273 | ASN1_STRING_free(params); |
275 | ASN1_STRING_free(params); | 274 | ASN1_INTEGER_free(prkey); |
276 | if (prkey != NULL) | ||
277 | ASN1_INTEGER_free(prkey); | ||
278 | return 0; | 275 | return 0; |
279 | } | 276 | } |
280 | 277 | ||
diff --git a/src/lib/libcrypto/dsa/dsa_ameth.c b/src/lib/libcrypto/dsa/dsa_ameth.c index c6707b9427..06b804b19d 100644 --- a/src/lib/libcrypto/dsa/dsa_ameth.c +++ b/src/lib/libcrypto/dsa/dsa_ameth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: dsa_ameth.c,v 1.9 2014/07/09 10:16:24 miod Exp $ */ | 1 | /* $OpenBSD: dsa_ameth.c,v 1.10 2014/07/09 22:55:17 tedu Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 2006. | 3 | * project 2006. |
4 | */ | 4 | */ |
@@ -164,8 +164,7 @@ dsa_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey) | |||
164 | 164 | ||
165 | err: | 165 | err: |
166 | free(penc); | 166 | free(penc); |
167 | if (pval) | 167 | ASN1_STRING_free(pval); |
168 | ASN1_STRING_free(pval); | ||
169 | 168 | ||
170 | return 0; | 169 | return 0; |
171 | } | 170 | } |
@@ -319,10 +318,8 @@ dsa_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey) | |||
319 | 318 | ||
320 | err: | 319 | err: |
321 | free(dp); | 320 | free(dp); |
322 | if (params != NULL) | 321 | ASN1_STRING_free(params); |
323 | ASN1_STRING_free(params); | 322 | ASN1_INTEGER_free(prkey); |
324 | if (prkey != NULL) | ||
325 | ASN1_INTEGER_free(prkey); | ||
326 | return 0; | 323 | return 0; |
327 | } | 324 | } |
328 | 325 | ||
diff --git a/src/lib/libcrypto/rsa/rsa_ameth.c b/src/lib/libcrypto/rsa/rsa_ameth.c index 813c634f31..679fe7b318 100644 --- a/src/lib/libcrypto/rsa/rsa_ameth.c +++ b/src/lib/libcrypto/rsa/rsa_ameth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: rsa_ameth.c,v 1.8 2014/07/09 19:51:38 jsing Exp $ */ | 1 | /* $OpenBSD: rsa_ameth.c,v 1.9 2014/07/09 22:55:17 tedu Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 2006. | 3 | * project 2006. |
4 | */ | 4 | */ |
@@ -625,8 +625,7 @@ err: | |||
625 | X509_ALGOR_free(mgf1alg); | 625 | X509_ALGOR_free(mgf1alg); |
626 | if (pss) | 626 | if (pss) |
627 | RSA_PSS_PARAMS_free(pss); | 627 | RSA_PSS_PARAMS_free(pss); |
628 | if (os1) | 628 | ASN1_STRING_free(os1); |
629 | ASN1_STRING_free(os1); | ||
630 | return rv; | 629 | return rv; |
631 | } | 630 | } |
632 | return 2; | 631 | return 2; |
diff --git a/src/lib/libssl/src/crypto/asn1/a_bytes.c b/src/lib/libssl/src/crypto/asn1/a_bytes.c index 5b669bf07a..61910be5fe 100644 --- a/src/lib/libssl/src/crypto/asn1/a_bytes.c +++ b/src/lib/libssl/src/crypto/asn1/a_bytes.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: a_bytes.c,v 1.14 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: a_bytes.c,v 1.15 2014/07/09 22:55:17 tedu Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -121,7 +121,7 @@ d2i_ASN1_type_bytes(ASN1_STRING **a, const unsigned char **pp, | |||
121 | 121 | ||
122 | err: | 122 | err: |
123 | ASN1err(ASN1_F_D2I_ASN1_TYPE_BYTES, i); | 123 | ASN1err(ASN1_F_D2I_ASN1_TYPE_BYTES, i); |
124 | if ((ret != NULL) && ((a == NULL) || (*a != ret))) | 124 | if (a == NULL || *a != ret) |
125 | ASN1_STRING_free(ret); | 125 | ASN1_STRING_free(ret); |
126 | return (NULL); | 126 | return (NULL); |
127 | } | 127 | } |
@@ -230,7 +230,7 @@ d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, | |||
230 | return (ret); | 230 | return (ret); |
231 | 231 | ||
232 | err: | 232 | err: |
233 | if ((ret != NULL) && ((a == NULL) || (*a != ret))) | 233 | if (a == NULL || *a != ret) |
234 | ASN1_STRING_free(ret); | 234 | ASN1_STRING_free(ret); |
235 | ASN1err(ASN1_F_D2I_ASN1_BYTES, i); | 235 | ASN1err(ASN1_F_D2I_ASN1_BYTES, i); |
236 | return (NULL); | 236 | return (NULL); |
@@ -292,14 +292,12 @@ asn1_collate_primitive(ASN1_STRING *a, ASN1_const_CTX *c) | |||
292 | a->length = num; | 292 | a->length = num; |
293 | free(a->data); | 293 | free(a->data); |
294 | a->data = (unsigned char *)b.data; | 294 | a->data = (unsigned char *)b.data; |
295 | if (os != NULL) | 295 | ASN1_STRING_free(os); |
296 | ASN1_STRING_free(os); | ||
297 | return (1); | 296 | return (1); |
298 | 297 | ||
299 | err: | 298 | err: |
300 | ASN1err(ASN1_F_ASN1_COLLATE_PRIMITIVE, c->error); | 299 | ASN1err(ASN1_F_ASN1_COLLATE_PRIMITIVE, c->error); |
301 | if (os != NULL) | 300 | ASN1_STRING_free(os); |
302 | ASN1_STRING_free(os); | ||
303 | free(b.data); | 301 | free(b.data); |
304 | return (0); | 302 | return (0); |
305 | } | 303 | } |
diff --git a/src/lib/libssl/src/crypto/asn1/p5_pbe.c b/src/lib/libssl/src/crypto/asn1/p5_pbe.c index 2b538caac3..19a88c20f1 100644 --- a/src/lib/libssl/src/crypto/asn1/p5_pbe.c +++ b/src/lib/libssl/src/crypto/asn1/p5_pbe.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: p5_pbe.c,v 1.13 2014/06/12 15:49:27 deraadt Exp $ */ | 1 | /* $OpenBSD: p5_pbe.c,v 1.14 2014/07/09 22:55:17 tedu Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 1999. | 3 | * project 1999. |
4 | */ | 4 | */ |
@@ -119,8 +119,7 @@ PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, | |||
119 | err: | 119 | err: |
120 | if (pbe != NULL) | 120 | if (pbe != NULL) |
121 | PBEPARAM_free(pbe); | 121 | PBEPARAM_free(pbe); |
122 | if (pbe_str != NULL) | 122 | ASN1_STRING_free(pbe_str); |
123 | ASN1_STRING_free(pbe_str); | ||
124 | return 0; | 123 | return 0; |
125 | } | 124 | } |
126 | 125 | ||
diff --git a/src/lib/libssl/src/crypto/dh/dh_ameth.c b/src/lib/libssl/src/crypto/dh/dh_ameth.c index 9e911c8779..21714bb748 100644 --- a/src/lib/libssl/src/crypto/dh/dh_ameth.c +++ b/src/lib/libssl/src/crypto/dh/dh_ameth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: dh_ameth.c,v 1.9 2014/07/09 13:26:47 miod Exp $ */ | 1 | /* $OpenBSD: dh_ameth.c,v 1.10 2014/07/09 22:55:17 tedu Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 2006. | 3 | * project 2006. |
4 | */ | 4 | */ |
@@ -167,8 +167,7 @@ dh_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey) | |||
167 | 167 | ||
168 | err: | 168 | err: |
169 | free(penc); | 169 | free(penc); |
170 | if (str) | 170 | ASN1_STRING_free(str); |
171 | ASN1_STRING_free(str); | ||
172 | 171 | ||
173 | return 0; | 172 | return 0; |
174 | } | 173 | } |
@@ -271,10 +270,8 @@ dh_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey) | |||
271 | 270 | ||
272 | err: | 271 | err: |
273 | free(dp); | 272 | free(dp); |
274 | if (params != NULL) | 273 | ASN1_STRING_free(params); |
275 | ASN1_STRING_free(params); | 274 | ASN1_INTEGER_free(prkey); |
276 | if (prkey != NULL) | ||
277 | ASN1_INTEGER_free(prkey); | ||
278 | return 0; | 275 | return 0; |
279 | } | 276 | } |
280 | 277 | ||
diff --git a/src/lib/libssl/src/crypto/dsa/dsa_ameth.c b/src/lib/libssl/src/crypto/dsa/dsa_ameth.c index c6707b9427..06b804b19d 100644 --- a/src/lib/libssl/src/crypto/dsa/dsa_ameth.c +++ b/src/lib/libssl/src/crypto/dsa/dsa_ameth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: dsa_ameth.c,v 1.9 2014/07/09 10:16:24 miod Exp $ */ | 1 | /* $OpenBSD: dsa_ameth.c,v 1.10 2014/07/09 22:55:17 tedu Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 2006. | 3 | * project 2006. |
4 | */ | 4 | */ |
@@ -164,8 +164,7 @@ dsa_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey) | |||
164 | 164 | ||
165 | err: | 165 | err: |
166 | free(penc); | 166 | free(penc); |
167 | if (pval) | 167 | ASN1_STRING_free(pval); |
168 | ASN1_STRING_free(pval); | ||
169 | 168 | ||
170 | return 0; | 169 | return 0; |
171 | } | 170 | } |
@@ -319,10 +318,8 @@ dsa_priv_encode(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pkey) | |||
319 | 318 | ||
320 | err: | 319 | err: |
321 | free(dp); | 320 | free(dp); |
322 | if (params != NULL) | 321 | ASN1_STRING_free(params); |
323 | ASN1_STRING_free(params); | 322 | ASN1_INTEGER_free(prkey); |
324 | if (prkey != NULL) | ||
325 | ASN1_INTEGER_free(prkey); | ||
326 | return 0; | 323 | return 0; |
327 | } | 324 | } |
328 | 325 | ||
diff --git a/src/lib/libssl/src/crypto/rsa/rsa_ameth.c b/src/lib/libssl/src/crypto/rsa/rsa_ameth.c index 813c634f31..679fe7b318 100644 --- a/src/lib/libssl/src/crypto/rsa/rsa_ameth.c +++ b/src/lib/libssl/src/crypto/rsa/rsa_ameth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: rsa_ameth.c,v 1.8 2014/07/09 19:51:38 jsing Exp $ */ | 1 | /* $OpenBSD: rsa_ameth.c,v 1.9 2014/07/09 22:55:17 tedu Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project 2006. | 3 | * project 2006. |
4 | */ | 4 | */ |
@@ -625,8 +625,7 @@ err: | |||
625 | X509_ALGOR_free(mgf1alg); | 625 | X509_ALGOR_free(mgf1alg); |
626 | if (pss) | 626 | if (pss) |
627 | RSA_PSS_PARAMS_free(pss); | 627 | RSA_PSS_PARAMS_free(pss); |
628 | if (os1) | 628 | ASN1_STRING_free(os1); |
629 | ASN1_STRING_free(os1); | ||
630 | return rv; | 629 | return rv; |
631 | } | 630 | } |
632 | return 2; | 631 | return 2; |