The following patch seems to fix it, I'd appreciate a second eye on
this. Basically the data returned by rrd_fetch_r wasn't freed...
--- src/rrd_daemon.c.orig 2010-04-30 16:13:40.000000000 +0000
+++ src/rrd_daemon.c 2010-05-12 06:53:18.000000000 +0000
@@ -1628,7 +1634,9 @@
if (i > 0)
SSTRCAT (linebuf, " ", linebuf_fill);
SSTRCAT (linebuf, ds_namv[i], linebuf_fill);
+ rrd_freemem(ds_namv[i]);
}
+ rrd_freemem(ds_namv);
add_response_info (sock, "DSName: %s\n", linebuf);
}
@@ -1654,6 +1662,7 @@
add_response_info (sock, "%10lu:%s\n", (unsigned long) t, linebuf);
} /* for (t) */
+ rrd_freemem(data);
return (send_response (sock, RESP_OK, "Success\n"));
#undef SSTRCAT
Cheers,
Thorsten
_______________________________________________
rrd-developers mailing list
[email protected]
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers