diff options
| author | beck <> | 2020-09-14 08:06:09 +0000 |
|---|---|---|
| committer | beck <> | 2020-09-14 08:06:09 +0000 |
| commit | d2c2cc1a95a5bd151545a5500d98cfe0f34b5e30 (patch) | |
| tree | 7817d771ea189cb5e5d9b62c8caa01a3d5b1142e /src/lib/libcrypto/x509/x509_verify.c | |
| parent | 8abcadad1153f1765f0f164d1b8685fbc195c3b8 (diff) | |
| download | openbsd-d2c2cc1a95a5bd151545a5500d98cfe0f34b5e30.tar.gz openbsd-d2c2cc1a95a5bd151545a5500d98cfe0f34b5e30.tar.bz2 openbsd-d2c2cc1a95a5bd151545a5500d98cfe0f34b5e30.zip | |
Correctly fix double free introduced on review.
the roots for a ctx are only freed in the free function, not in the
clear function, so that a ctx can be re-used with the same roots.
ok tb@
Diffstat (limited to 'src/lib/libcrypto/x509/x509_verify.c')
| -rw-r--r-- | src/lib/libcrypto/x509/x509_verify.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/lib/libcrypto/x509/x509_verify.c b/src/lib/libcrypto/x509/x509_verify.c index 5f5070c122..aeab03ffc2 100644 --- a/src/lib/libcrypto/x509/x509_verify.c +++ b/src/lib/libcrypto/x509/x509_verify.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x509_verify.c,v 1.1 2020/09/13 15:06:17 beck Exp $ */ | 1 | /* $OpenBSD: x509_verify.c,v 1.2 2020/09/14 08:06:09 beck Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2020 Bob Beck <beck@openbsd.org> | 3 | * Copyright (c) 2020 Bob Beck <beck@openbsd.org> |
| 4 | * | 4 | * |
| @@ -153,7 +153,6 @@ x509_verify_ctx_clear(struct x509_verify_ctx *ctx) | |||
| 153 | { | 153 | { |
| 154 | x509_verify_ctx_reset(ctx); | 154 | x509_verify_ctx_reset(ctx); |
| 155 | sk_X509_pop_free(ctx->intermediates, X509_free); | 155 | sk_X509_pop_free(ctx->intermediates, X509_free); |
| 156 | sk_X509_pop_free(ctx->roots, X509_free); | ||
| 157 | free(ctx->chains); | 156 | free(ctx->chains); |
| 158 | memset(ctx, 0, sizeof(*ctx)); | 157 | memset(ctx, 0, sizeof(*ctx)); |
| 159 | } | 158 | } |
