From 54fdb3741db964092526d64c77f1924ff2e84afd Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 16 Jan 2020 20:44:35 +0100 Subject: fix use after free --- src/lib/testing_api_helpers_bank.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/lib/testing_api_helpers_bank.c') diff --git a/src/lib/testing_api_helpers_bank.c b/src/lib/testing_api_helpers_bank.c index b542b45fb..f0ba9f99f 100644 --- a/src/lib/testing_api_helpers_bank.c +++ b/src/lib/testing_api_helpers_bank.c @@ -273,7 +273,6 @@ TALER_TESTING_prepare_bank (const char *config_filename, GNUNET_break (0); return GNUNET_SYSERR; } - GNUNET_CONFIGURATION_destroy (cfg); if (GNUNET_OK != GNUNET_NETWORK_test_port_free (IPPROTO_TCP, @@ -284,6 +283,7 @@ TALER_TESTING_prepare_bank (const char *config_filename, port); GNUNET_break (0); GNUNET_free (database); + GNUNET_CONFIGURATION_destroy (cfg); return GNUNET_SYSERR; } @@ -304,6 +304,7 @@ TALER_TESTING_prepare_bank (const char *config_filename, GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to flush the bank db.\n"); GNUNET_free (database); + GNUNET_CONFIGURATION_destroy (cfg); return GNUNET_SYSERR; } GNUNET_free (database); @@ -315,6 +316,7 @@ TALER_TESTING_prepare_bank (const char *config_filename, { GNUNET_OS_process_destroy (dbreset_proc); GNUNET_break (0); + GNUNET_CONFIGURATION_destroy (cfg); return GNUNET_SYSERR; } if ( (type == GNUNET_OS_PROCESS_EXITED) && @@ -323,6 +325,7 @@ TALER_TESTING_prepare_bank (const char *config_filename, fprintf (stderr, "Failed to setup database\n"); GNUNET_break (0); + GNUNET_CONFIGURATION_destroy (cfg); return GNUNET_SYSERR; } if ( (type != GNUNET_OS_PROCESS_EXITED) || @@ -331,6 +334,7 @@ TALER_TESTING_prepare_bank (const char *config_filename, GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Unexpected error running `taler-bank-manage django flush'!\n"); GNUNET_break (0); + GNUNET_CONFIGURATION_destroy (cfg); return GNUNET_SYSERR; } GNUNET_OS_process_destroy (dbreset_proc); @@ -340,8 +344,10 @@ TALER_TESTING_prepare_bank (const char *config_filename, &bc->exchange_auth)) { GNUNET_break (0); + GNUNET_CONFIGURATION_destroy (cfg); return GNUNET_SYSERR; } + GNUNET_CONFIGURATION_destroy (cfg); GNUNET_asprintf (&bc->bank_url, "http://localhost:%llu/", port); -- cgit v1.2.3