write_riemann plugin: Fix a memory leak.
authorFlorian Forster <octo@collectd.org>
Sun, 21 Apr 2013 16:28:01 +0000 (18:28 +0200)
committerFlorian Forster <octo@collectd.org>
Sun, 21 Apr 2013 16:28:01 +0000 (18:28 +0200)
Attributes were allocated and added to the event but not freed. D'oh!
Thanks to @dch for reporting this!

Github: #307

src/write_riemann.c

index d31a988..b524217 100644 (file)
@@ -58,6 +58,8 @@ static size_t   riemann_tags_num;
 
 static void riemann_event_protobuf_free (Event *event) /* {{{ */
 {
+       size_t i;
+
        if (event == NULL)
                return;
 
@@ -70,6 +72,11 @@ static void riemann_event_protobuf_free (Event *event) /* {{{ */
        event->tags = NULL;
        event->n_tags = 0;
 
+       for (i = 0; i < event->n_attributes; i++)
+               sfree (event->attributes[i]);
+       sfree (event->attributes);
+       event->n_attributes = 0;
+
        sfree (event);
 } /* }}} void riemann_event_protobuf_free */