[rrd-developers] [PATCH] rrdcached FETCH command leaks like a sieve

Thorsten von Eicken tve at voneicken.com
Wed May 12 09:09:49 CEST 2010


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



More information about the rrd-developers mailing list