Cleanup OpenSSL reference on bad option

Another exit path that needs to be cleaned up.

(cherry picked from commit e27fc4bbc5)
This commit is contained in:
Mark Andrews
2023-01-30 15:26:52 +11:00
parent 4dfc183fbd
commit cf5e81ed7b
3 changed files with 5 additions and 4 deletions

View File

@@ -2207,6 +2207,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 */
}

View File

@@ -247,9 +247,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;
@@ -4712,7 +4709,7 @@ cancel_all(void) {
UNLOCK_LOOKUP;
}
static void
void
cleanup_openssl_refs(void) {
if (tsigkey != NULL) {
debug("freeing TSIG key %p", tsigkey);

View File

@@ -295,6 +295,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);