Code

target_set: plug leak on error
authorRuben Kerkhof <ruben@rubenkerkhof.com>
Fri, 9 Dec 2016 17:15:29 +0000 (18:15 +0100)
committerRuben Kerkhof <ruben@rubenkerkhof.com>
Fri, 9 Dec 2016 17:15:29 +0000 (18:15 +0100)
CID 157645

src/target_set.c

index 5bf40fa357b6e0cf0ecfc6f1ee0ab16b8ef0fa53..7d54c93b0f70405483c1ff950f57cd1de45110bf 100644 (file)
@@ -358,6 +358,7 @@ static int ts_invoke(const data_set_t *ds, value_list_t *vl, /* {{{ */
         ERROR("Target `set': Unable to get replacement metadata value `%s'.",
               key);
         strarray_free(meta_toc, (size_t)meta_entries);
+        meta_data_destroy(new_meta);
         return (status);
       }
 
@@ -373,6 +374,7 @@ static int ts_invoke(const data_set_t *ds, value_list_t *vl, /* {{{ */
       if (status) {
         ERROR("Target `set': Unable to set metadata value `%s'.", key);
         strarray_free(meta_toc, (size_t)meta_entries);
+        meta_data_destroy(new_meta);
         return (status);
       }
     }