From 0ebed4813251b4ced6a42cac36d2e99e3bd05dbd Mon Sep 17 00:00:00 2001 From: oetiker Date: Sun, 4 Oct 2009 21:16:34 +0000 Subject: [PATCH] Fix potential memory leak in rrd_flushcached during failure. -- kevin git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1934 a5681a0c-68f1-0310-ab6d-d61299d08faa --- src/rrd_flushcached.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/rrd_flushcached.c b/src/rrd_flushcached.c index 5d18a1e..93b0fb5 100644 --- a/src/rrd_flushcached.c +++ b/src/rrd_flushcached.c @@ -74,7 +74,7 @@ int rrd_flushcached (int argc, char **argv) /* try to connect to rrdcached */ status = rrdc_connect(opt_daemon); - if (status != 0) return status; + if (status != 0) goto out; if (! rrdc_is_connected(opt_daemon)) { @@ -82,7 +82,8 @@ int rrd_flushcached (int argc, char **argv) "option to set an address on the command line or set the " "\"%s\" environment variable.", ENV_RRDCACHED_ADDRESS); - return (-1); + status = -1; + goto out; } status = 0; @@ -106,9 +107,10 @@ int rrd_flushcached (int argc, char **argv) } } +out: if (opt_daemon) free(opt_daemon); - return ((status == 0) ? 0 : -1); + return status; } /* int rrd_flush */ /* -- 2.30.2