summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2011-03-17 14:50:27 +0100
committerHans de Goede <hdegoede@redhat.com>2011-03-17 14:50:59 +0100
commit3c5e8afa276034fb584443d64ad972a173ad5a7d (patch)
treef87f1d71d8509d89a1f25ebe861e9ba8476e3bc2
parentdbe5cc845160a28a30cae3e9f681973e2feb9c90 (diff)
vdagentd: Fix closing of logfile in error exit paths
-rw-r--r--vdagentd.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/vdagentd.c b/vdagentd.c
index 4977f6c..9b2e4f3 100644
--- a/vdagentd.c
+++ b/vdagentd.c
@@ -658,12 +658,16 @@ int main(int argc, char *argv[])
if (!server) {
fprintf(logfile, "Fatal could not create server socket %s\n",
VDAGENTD_SOCKET);
+ if (logfile != stderr)
+ fclose(logfile);
return 1;
}
if (chmod(VDAGENTD_SOCKET, 0666)) {
fprintf(logfile, "Fatal could not change permissions on %s: %s\n",
VDAGENTD_SOCKET, strerror(errno));
udscs_destroy_server(server);
+ if (logfile != stderr)
+ fclose(logfile);
return 1;
}
@@ -674,6 +678,8 @@ int main(int argc, char *argv[])
if (!console_kit) {
fprintf(logfile, "Fatal could not connect to console kit\n");
udscs_destroy_server(server);
+ if (logfile != stderr)
+ fclose(logfile);
return 1;
}