summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortedu <>2014-07-09 22:55:17 +0000
committertedu <>2014-07-09 22:55:17 +0000
commit5ec69e74aa00653b339f3f526529cd3c926c657a (patch)
tree1abb2b63f090ef7e75fd385ebcb478b3f21f5c06
parent555f9c8f48cb40e936e75dc7774680f7ba3e608d (diff)
downloadopenbsd-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.c12
-rw-r--r--src/lib/libcrypto/asn1/p5_pbe.c5
-rw-r--r--src/lib/libcrypto/dh/dh_ameth.c11
-rw-r--r--src/lib/libcrypto/dsa/dsa_ameth.c11
-rw-r--r--src/lib/libcrypto/rsa/rsa_ameth.c5
-rw-r--r--src/lib/libssl/src/crypto/asn1/a_bytes.c12
-rw-r--r--src/lib/libssl/src/crypto/asn1/p5_pbe.c5
-rw-r--r--src/lib/libssl/src/crypto/dh/dh_ameth.c11
-rw-r--r--src/lib/libssl/src/crypto/dsa/dsa_ameth.c11
-rw-r--r--src/lib/libssl/src/crypto/rsa/rsa_ameth.c5
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
122err: 122err:
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
232err: 232err:
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
299err: 298err:
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,
119err: 119err:
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
168err: 168err:
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
272err: 271err:
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
165err: 165err:
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
320err: 319err:
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
122err: 122err:
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
232err: 232err:
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
299err: 298err:
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,
119err: 119err:
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
168err: 168err:
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
272err: 271err:
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
165err: 165err:
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
320err: 319err:
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;