gssmask: log_function memory leak

Do not leak 'file' on error and reduce clutter. free() in common exit
path.

Change-Id: Icb187ea50e9c3d405076a192aa61cbade4b6d7d4
This commit is contained in:
Jeffrey Altman
2016-11-14 17:02:02 -05:00
parent d3fc257245
commit 84e959a752

View File

@@ -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;
}