write_riemann plugin: Fix a memory leak.
[collectd.git] / 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 */