table plugin: fix check for realloc
[collectd.git] / src / table.c
index d48a2ef..745ec13 100644 (file)
@@ -183,7 +183,7 @@ static int tbl_config_result (tbl_t *tbl, oconfig_item_t *ci)
 
        res = (tbl_result_t *)realloc (tbl->results,
                        (tbl->results_num + 1) * sizeof (*tbl->results));
-       if (NULL == tbl) {
+       if (res == NULL) {
                char errbuf[1024];
                log_err ("realloc failed: %s.",
                                sstrerror (errno, errbuf, sizeof (errbuf)));
@@ -278,6 +278,8 @@ static int tbl_config_table (oconfig_item_t *ci)
        if (NULL == tbl->sep) {
                log_err ("Table \"%s\" does not specify any separator.", tbl->file);
                status = 1;
+       } else {
+               strunescape (tbl->sep, strlen (tbl->sep) + 1);
        }
 
        if (NULL == tbl->instance) {
@@ -382,7 +384,7 @@ static int tbl_result_dispatch (tbl_t *tbl, tbl_result_t *res,
                assert (res->values[i] < fields_num);
                value = fields[res->values[i]];
 
-               if (0 != parse_value (value, &values[i], res->ds->ds[i]))
+               if (0 != parse_value (value, &values[i], res->ds->ds[i].type))
                        return -1;
        }