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:
@@ -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 */
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user