From: Marek Schimara Date: Thu, 16 Jun 2016 11:23:39 +0000 (+0200) Subject: src/rrd_first.c: fix Coverity CID#26528 Resource leak X-Git-Tag: v1.7.0~42^2~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b55e9faa81473c96adaf3c2207daa7b60098c9dd;p=thirdparty%2Frrdtool-1.x.git src/rrd_first.c: fix Coverity CID#26528 Resource leak CWE-404 / https://cwe.mitre.org/data/definitions/404.html --- diff --git a/src/rrd_first.c b/src/rrd_first.c index d3c31c36..2c68f479 100644 --- a/src/rrd_first.c +++ b/src/rrd_first.c @@ -33,6 +33,7 @@ time_t rrd_first( target_rraindex = strtol(options.optarg, &endptr, 0); if (target_rraindex < 0) { rrd_set_error("invalid rraindex number"); + if (opt_daemon != NULL) free (opt_daemon); return (-1); } break; @@ -48,6 +49,7 @@ time_t rrd_first( break; case '?': rrd_set_error("%s", options.errmsg); + if (opt_daemon != NULL) free (opt_daemon); return -1; } } @@ -55,13 +57,16 @@ time_t rrd_first( if (options.optind >= options.argc) { rrd_set_error("usage rrdtool %s [--rraindex number] [--daemon|-d ] file.rrd", options.argv[0]); + if (opt_daemon != NULL) free (opt_daemon); return -1; } rrdc_connect (opt_daemon); if (rrdc_is_connected (opt_daemon)) { + if (opt_daemon != NULL) free (opt_daemon); return rrdc_first(options.argv[options.optind], target_rraindex); } else { + if (opt_daemon != NULL) free (opt_daemon); return rrd_first_r(options.argv[options.optind], target_rraindex); } }