X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Ftable.c;h=20f02756c44bf77de78f01d9676b96b2054eee3e;hb=849f5394cce97a76da080f6cd9e5194b7f4ee0f0;hp=cfe9a589c06456d1a880afb08bd1012a95c60883;hpb=084761bb8a360ac0f9e21ad43c82312676cc4a37;p=collectd.git diff --git a/src/table.c b/src/table.c index cfe9a589..20f02756 100644 --- a/src/table.c +++ b/src/table.c @@ -78,6 +78,10 @@ static void tbl_result_setup(tbl_result_t *res) { } /* tbl_result_setup */ static void tbl_result_clear(tbl_result_t *res) { + if (res == NULL) { + return; + } + sfree(res->type); sfree(res->instance_prefix); @@ -103,11 +107,17 @@ static void tbl_setup(tbl_t *tbl, char *file) { } /* tbl_setup */ static void tbl_clear(tbl_t *tbl) { + if (tbl == NULL) { + return; + } + sfree(tbl->file); sfree(tbl->sep); sfree(tbl->plugin_name); sfree(tbl->instance); + /* (tbl->results == NULL) -> (tbl->results_num == 0) */ + assert((tbl->results != NULL) || (tbl->results_num == 0)); for (size_t i = 0; i < tbl->results_num; ++i) tbl_result_clear(tbl->results + i); sfree(tbl->results); @@ -326,8 +336,8 @@ static int tbl_prepare(tbl_t *tbl) { } if (res->values_num != res->ds->ds_num) { - log_err("Invalid type \"%s\". Expected %zu data source%s, " - "got %zu.", + log_err("Invalid type \"%s\". Expected %" PRIsz " data source%s, " + "got %" PRIsz ".", res->type, res->values_num, (1 == res->values_num) ? "" : "s", res->ds->ds_num); return -1; @@ -420,7 +430,7 @@ static int tbl_parse_line(tbl_t *tbl, char *line, size_t len) { if (i <= tbl->max_colnum) { log_warn("Not enough columns in line " - "(expected at least %zu, got %zu).", + "(expected at least %" PRIsz ", got %" PRIsz ").", tbl->max_colnum + 1, i); return -1; }