summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmd/zed/zed_conf.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/cmd/zed/zed_conf.c b/cmd/zed/zed_conf.c
index 3f38945c0..638f728e1 100644
--- a/cmd/zed/zed_conf.c
+++ b/cmd/zed/zed_conf.c
@@ -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);
}