table plugin: Assert that result_num is zero when result is NULL.
authorFlorian Forster <octo@collectd.org>
Mon, 20 Nov 2017 13:19:46 +0000 (14:19 +0100)
committerFlorian Forster <octo@collectd.org>
Mon, 20 Nov 2017 13:19:46 +0000 (14:19 +0100)
The Coverity check gets confused by the `tbl->results == NULL` check:
due to the check, is assumes that tbl->results *may* be NULL. It then
discovers the dereference in tbl_clear() without realizing that "result"
and "result_num" are linked and that situation can't happen. This
assertion makes this link a bit easier to conclude.

CID: 37966

src/table.c

index 3e8fead..cebcaed 100644 (file)
@@ -279,6 +279,7 @@ static int tbl_config_table(oconfig_item_t *ci) {
   }
 
   if (NULL == tbl->results) {
+    assert(tbl->results_num == 0);
     log_err("Table \"%s\" does not specify any (valid) results.", tbl->file);
     status = 1;
   }