From: Mark Andrews Date: Mon, 30 Jan 2023 04:26:52 +0000 (+1100) Subject: Cleanup OpenSSL reference on bad option X-Git-Tag: v9.19.11~60^2 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=e27fc4bbc54eaa2db3f3d12b871f8d7dc32298a8;p=thirdparty%2Fbind9.git Cleanup OpenSSL reference on bad option Another exit path that needs to be cleaned up. --- diff --git a/bin/dig/dig.c b/bin/dig/dig.c index 7c5c28545a9..0d1814cda50 100644 --- a/bin/dig/dig.c +++ b/bin/dig/dig.c @@ -2195,6 +2195,7 @@ plus_option(char *option, bool is_batchfile, bool *need_clone, #if !TARGET_OS_IPHONE exit_or_usage: + cleanup_openssl_refs(); digexit(); #endif /* if !TARGET_OS_IPHONE */ } diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c index 4bafbf7baec..25c3bdde333 100644 --- a/bin/dig/dighost.c +++ b/bin/dig/dighost.c @@ -227,9 +227,6 @@ clear_current_lookup(void); static bool next_origin(dig_lookup_t *oldlookup); -static void -cleanup_openssl_refs(void); - static int count_dots(char *string) { char *s; @@ -4664,7 +4661,7 @@ cancel_all(void) { } } -static void +void cleanup_openssl_refs(void) { if (tsigkey != NULL) { debug("freeing TSIG key %p", tsigkey); diff --git a/bin/dig/dighost.h b/bin/dig/dighost.h index 06beaa91bca..4c12260338a 100644 --- a/bin/dig/dighost.h +++ b/bin/dig/dighost.h @@ -296,6 +296,9 @@ warn(const char *format, ...) ISC_FORMAT_PRINTF(1, 2); noreturn void digexit(void); +void +cleanup_openssl_refs(void); + void debug(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);