Code

Merge remote-tracking branch 'github/pr/1413'
authorFlorian Forster <octo@collectd.org>
Sat, 5 Dec 2015 07:51:41 +0000 (08:51 +0100)
committerFlorian Forster <octo@collectd.org>
Sat, 5 Dec 2015 07:51:41 +0000 (08:51 +0100)
src/daemon/types_list.c

index 75a980aa2a9801c2d754362beb1ca2e12642c820..cf28c2e149b838e9c6ecd0b126b498d23d4d8a2a 100644 (file)
@@ -122,14 +122,18 @@ static void parse_line (char *buf)
   ds->ds_num = fields_num - 1;
   ds->ds = (data_source_t *) calloc (ds->ds_num, sizeof (data_source_t));
   if (ds->ds == NULL)
+  {
+    sfree (ds);
     return;
+  }
 
   for (i = 0; i < ds->ds_num; i++)
     if (parse_ds (ds->ds + i, fields[i + 1], strlen (fields[i + 1])) != 0)
     {
-      sfree (ds->ds);
       ERROR ("types_list: parse_line: Cannot parse data source #%zu "
          "of data set %s", i, ds->type);
+      sfree (ds->ds);
+      sfree (ds);
       return;
     }