From 84e959a75237749eb9163ac4b06d2883780b7b73 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 14 Nov 2016 17:02:02 -0500 Subject: [PATCH] gssmask: log_function memory leak Do not leak 'file' on error and reduce clutter. free() in common exit path. Change-Id: Icb187ea50e9c3d405076a192aa61cbade4b6d7d4 --- appl/gssmask/gssmaestro.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/appl/gssmask/gssmaestro.c b/appl/gssmask/gssmaestro.c index 5df1c8669..844f6069e 100644 --- a/appl/gssmask/gssmaestro.c +++ b/appl/gssmask/gssmaestro.c @@ -566,7 +566,7 @@ log_function(void *ptr) { struct client *c = ptr; int32_t cmd, line; - char *file, *string; + char *file = NULL, *string = NULL; while (1) { if (krb5_ret_int32(c->logsock, &cmd)) @@ -576,7 +576,6 @@ log_function(void *ptr) case eLogSetMoniker: if (krb5_ret_string(c->logsock, &file)) goto out; - free(file); break; case eLogInfo: case eLogFailure: @@ -591,8 +590,6 @@ log_function(void *ptr) fprintf(logfile, "%s:%lu: %s\n", file, (unsigned long)line, string); fflush(logfile); - free(file); - free(string); if (krb5_store_int32(c->logsock, 0)) goto out; break; @@ -601,6 +598,8 @@ log_function(void *ptr) } } out: + free(file); + free(string); return 0; }