Unreference correct event
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Wed, 26 Apr 2017 16:59:49 +0000 (18:59 +0200)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Wed, 26 Apr 2017 18:44:05 +0000 (20:44 +0200)
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
src/decision_makers/rv_dm.c

index 468735bce8e3b03a5171112ed375970c439313cb..c85278d5c86122944ce5e9e2bcf69006518be275 100644 (file)
@@ -50,13 +50,14 @@ static int rv_make_decision(struct faultd_event_handler *handler)
         int ret;
 
         ev_data.action_data = strdup(rv_ev->service.name);
-        faultd_event_put(new_ev);
         if (!ev_data.action_data) {
                 log_error("Unable to duplicate service name");
+                faultd_event_put(ev);
                 return -ENOMEM;
         }
 
         ret = faultd_event_create(DECISION_MADE_EVENT_ID, &ev_data, &new_ev);
+        faultd_event_put(ev);
         if (ret) {
                 log_error("Unable to create event");
                 goto free_action_data;
@@ -71,7 +72,7 @@ static int rv_make_decision(struct faultd_event_handler *handler)
         return 0;
 
 put_new_event:
-        faultd_event_put(ev);
+        faultd_event_put(new_ev);
         return 0;
 
 free_action_data: