Cleanup struct zed_conf vars in zed_conf_destroy

Reset struct zed_conf file descriptors to -1 after close(),
and pointers to NULL after free().

Signed-off-by: Chris Dunlap <cdunlap@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #2756
This commit is contained in:
Chris Dunlap 2014-10-01 14:56:52 -07:00 committed by Brian Behlendorf
parent 56697c4264
commit 8ac9b5e6b5
1 changed files with 16 additions and 10 deletions

View File

@ -99,6 +99,7 @@ zed_conf_destroy(struct zed_conf *zcp)
zed_log_msg(LOG_WARNING,
"Failed to close state file \"%s\": %s",
zcp->state_file, strerror(errno));
zcp->state_fd = -1;
}
if (zcp->pid_file) {
if ((unlink(zcp->pid_file) < 0) && (errno != ENOENT))
@ -113,21 +114,26 @@ zed_conf_destroy(struct zed_conf *zcp)
zcp->pid_file, strerror(errno));
zcp->pid_fd = -1;
}
if (zcp->conf_file)
if (zcp->conf_file) {
free(zcp->conf_file);
if (zcp->pid_file)
zcp->conf_file = NULL;
}
if (zcp->pid_file) {
free(zcp->pid_file);
if (zcp->zedlet_dir)
zcp->pid_file = NULL;
}
if (zcp->zedlet_dir) {
free(zcp->zedlet_dir);
if (zcp->state_file)
zcp->zedlet_dir = NULL;
}
if (zcp->state_file) {
free(zcp->state_file);
if (zcp->zedlets)
zcp->state_file = NULL;
}
if (zcp->zedlets) {
zed_strings_destroy(zcp->zedlets);
zcp->zedlets = NULL;
}
free(zcp);
}