From 2875b5767c22bcda77b389db10c454df5f25c220 Mon Sep 17 00:00:00 2001 From: Urban Wallasch Date: Wed, 21 Apr 2021 19:23:16 +0200 Subject: [PATCH] * Cleanup heap in kaoupload.c on exit. --- kaoupload.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/kaoupload.c b/kaoupload.c index 0d8b3b6..5f078dc 100644 --- a/kaoupload.c +++ b/kaoupload.c @@ -51,6 +51,13 @@ static void sig_handler( int signum ){ fprintf( stderr, "\nReceived signal %d, wrapping up gracefully.\n", signum ); } +static void doExit( int ec ) { + free( cfg.user ); + free( cfg.pass ); + free( cfg.url ); + exit( ec ); +} + static void cerr( const char *msg, int eno ) { fprintf( stderr, "ERROR: %s", msg ); if ( eno ) @@ -67,7 +74,7 @@ static void err( const char *msg, int eno ) { static void die( const char *msg, int eno ) { err( msg, eno ); - exit( EXIT_FAILURE ); + doExit( EXIT_FAILURE ); } static curl_off_t str_to_bwl( const char *s ) { @@ -347,7 +354,7 @@ static void usage( char *pname ) { ); printf( "Defaults for bandwidth limit, user, password and URL are taken " "from environment and configuration file, in this order.\n" ); - exit( EXIT_FAILURE ); + doExit( EXIT_FAILURE ); } int main( int argc, char *argv[] ) { @@ -432,5 +439,5 @@ int main( int argc, char *argv[] ) { free( cfg.user ); free( cfg.pass ); free( cfg.url ); - exit( res ? EXIT_FAILURE : EXIT_SUCCESS ); + doExit( res ? EXIT_FAILURE : EXIT_SUCCESS ); } -- 2.30.2