diff options
author | miod <> | 2016-11-13 08:47:54 +0000 |
---|---|---|
committer | miod <> | 2016-11-13 08:47:54 +0000 |
commit | f2a500e5bfad3bd2e33845145abfb7a05542c3b2 (patch) | |
tree | 5c6baaa6dfddd6cb905fd8089da2b72f672b8d19 | |
parent | 86c097bfe41072c2490c850b0bed68ed584c0ca0 (diff) | |
download | openbsd-f2a500e5bfad3bd2e33845145abfb7a05542c3b2.tar.gz openbsd-f2a500e5bfad3bd2e33845145abfb7a05542c3b2.tar.bz2 openbsd-f2a500e5bfad3bd2e33845145abfb7a05542c3b2.zip |
Fix previous change to X509_STORE_add_{cert,crl} to not free the input
object in the error path - we don't own it.
-rw-r--r-- | src/lib/libcrypto/x509/x509_lu.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lib/libcrypto/x509/x509_lu.c b/src/lib/libcrypto/x509/x509_lu.c index fc1256788e..d8d0bb4147 100644 --- a/src/lib/libcrypto/x509/x509_lu.c +++ b/src/lib/libcrypto/x509/x509_lu.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x509_lu.c,v 1.21 2016/11/08 21:22:55 miod Exp $ */ | 1 | /* $OpenBSD: x509_lu.c,v 1.22 2016/11/13 08:47:54 miod 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 | * |
@@ -376,8 +376,10 @@ X509_STORE_add_cert(X509_STORE *ctx, X509 *x) | |||
376 | 376 | ||
377 | CRYPTO_w_unlock(CRYPTO_LOCK_X509_STORE); | 377 | CRYPTO_w_unlock(CRYPTO_LOCK_X509_STORE); |
378 | 378 | ||
379 | if (ret == 0) | 379 | if (ret == 0) { |
380 | obj->data.x509 = NULL; /* owned by the caller */ | ||
380 | X509_OBJECT_free(obj); | 381 | X509_OBJECT_free(obj); |
382 | } | ||
381 | 383 | ||
382 | return ret; | 384 | return ret; |
383 | } | 385 | } |
@@ -419,8 +421,10 @@ X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x) | |||
419 | 421 | ||
420 | CRYPTO_w_unlock(CRYPTO_LOCK_X509_STORE); | 422 | CRYPTO_w_unlock(CRYPTO_LOCK_X509_STORE); |
421 | 423 | ||
422 | if (ret == 0) | 424 | if (ret == 0) { |
425 | obj->data.crl = NULL; /* owned by the caller */ | ||
423 | X509_OBJECT_free(obj); | 426 | X509_OBJECT_free(obj); |
427 | } | ||
424 | 428 | ||
425 | return ret; | 429 | return ret; |
426 | } | 430 | } |