X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrdtool.c;h=dc06d68a100eac4013b6080d9027df154345135a;hb=f71467d9c2097ddd9eb772a4fdb985663168ec71;hp=fbd836020f95f14dad6bf1dfd2d69ab1146b9c66;hpb=e686e07b9c1ffcb3a9be3483a39b069ac5795867;p=collectd.git diff --git a/src/rrdtool.c b/src/rrdtool.c index fbd83602..dc06d68a 100644 --- a/src/rrdtool.c +++ b/src/rrdtool.c @@ -654,6 +654,8 @@ static void *rrd_queue_thread (void *data) /* Write the values to the RRD-file */ srrd_update (queue_entry->filename, NULL, values_num, values); + DEBUG ("rrdtool plugin: queue thread: Wrote %i values to %s", + values_num, queue_entry->filename); for (i = 0; i < values_num; i++) { @@ -735,9 +737,9 @@ static void rrd_cache_flush (int timeout) } else /* ancient and no values -> waste of memory */ { - keys = (char **) realloc ((void *) keys, + char **tmp = (char **) realloc ((void *) keys, (keys_num + 1) * sizeof (char *)); - if (keys == NULL) + if (tmp == NULL) { char errbuf[1024]; ERROR ("rrdtool plugin: " @@ -745,8 +747,10 @@ static void rrd_cache_flush (int timeout) sstrerror (errno, errbuf, sizeof (errbuf))); c_avl_iterator_destroy (iter); + sfree (keys); return; } + keys = tmp; keys[keys_num] = key; keys_num++; } @@ -769,7 +773,7 @@ static void rrd_cache_flush (int timeout) keys[i] = NULL; } /* for (i = 0..keys_num) */ - free (keys); + sfree (keys); cache_flush_last = now; } /* void rrd_cache_flush */