dbi plugin: Fix additional memory leaks.
authorFlorian Forster <octo@collectd.org>
Fri, 29 Sep 2017 06:44:22 +0000 (08:44 +0200)
committerFlorian Forster <octo@collectd.org>
Fri, 29 Sep 2017 06:44:22 +0000 (08:44 +0200)
src/dbi.c

index 8b383f1..6043fe6 100644 (file)
--- a/src/dbi.c
+++ b/src/dbi.c
@@ -186,7 +186,10 @@ static void cdbi_database_free(cdbi_database_t *db) /* {{{ */
   if (db->q_prep_areas)
     for (size_t i = 0; i < db->queries_num; ++i)
       udb_query_delete_preparation_area(db->q_prep_areas[i]);
-  free(db->q_prep_areas);
+  sfree(db->q_prep_areas);
+  /* N.B.: db->queries references objects "owned" by the global queries
+   * variable. Free the array here, but not the content. */
+  sfree(db->queries);
 
   sfree(db);
 } /* }}} void cdbi_database_free */