summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2018-10-15 14:21:55 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2018-10-15 17:49:22 +0200
commit3222924c3dd595f6d185b180341acfa46954307a (patch)
tree817e95cd786fa5bb0603e870049e9f515ad791ae
parentfbfbbf6d6a4c27d1a9965c196cf625a49223eccd (diff)
downloadlvm2-3222924c3dd595f6d185b180341acfa46954307a.tar.gz
cov: dmeventd plugin fix memleak
Fix memory leak when policy command fails too frequently and plugin decided to skip it.
-rw-r--r--daemons/dmeventd/plugins/thin/dmeventd_thin.c2
-rw-r--r--daemons/dmeventd/plugins/vdo/dmeventd_vdo.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/daemons/dmeventd/plugins/thin/dmeventd_thin.c b/daemons/dmeventd/plugins/thin/dmeventd_thin.c
index 14bfd80ee..64fe6caff 100644
--- a/daemons/dmeventd/plugins/thin/dmeventd_thin.c
+++ b/daemons/dmeventd/plugins/thin/dmeventd_thin.c
@@ -286,7 +286,7 @@ void process_event(struct dm_task *dmt,
if (state->fails++ <= state->max_fails) {
log_debug("Postponing frequently failing policy (%u <= %u).",
state->fails - 1, state->max_fails);
- return;
+ goto out;
}
if (state->max_fails < MAX_FAILS)
state->max_fails <<= 1;
diff --git a/daemons/dmeventd/plugins/vdo/dmeventd_vdo.c b/daemons/dmeventd/plugins/vdo/dmeventd_vdo.c
index d77ca799c..abed41ed9 100644
--- a/daemons/dmeventd/plugins/vdo/dmeventd_vdo.c
+++ b/daemons/dmeventd/plugins/vdo/dmeventd_vdo.c
@@ -245,7 +245,7 @@ void process_event(struct dm_task *dmt,
if (state->fails++ <= state->max_fails) {
log_debug("Postponing frequently failing policy (%u <= %u).",
state->fails - 1, state->max_fails);
- return;
+ goto out;
}
if (state->max_fails < MAX_FAILS)
state->max_fails <<= 1;