From: Marek Schimara Date: Wed, 15 Jun 2016 11:26:55 +0000 (+0200) Subject: src/rrd_daemon.c: fix Coverity CIDs#32415,#26519 Resource leak X-Git-Tag: v1.7.0~42^2~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=094eacf294640b9067de8b659b5701401eec9d5a;p=thirdparty%2Frrdtool-1.x.git src/rrd_daemon.c: fix Coverity CIDs#32415,#26519 Resource leak CWE-404 / https://cwe.mitre.org/data/definitions/404.html --- diff --git a/src/rrd_daemon.c b/src/rrd_daemon.c index 5068f790..9041a193 100644 --- a/src/rrd_daemon.c +++ b/src/rrd_daemon.c @@ -485,13 +485,23 @@ static int open_pidfile(char *action, int oflag) /* {{{ */ } dir = strdup(dirname(file_copy)); + if (dir == NULL) + { + fprintf(stderr, "rrdcached: strdup(): %s\n", + rrd_strerror(errno)); + free(file_copy); + return -1; + } if (rrd_mkdir_p(dir, 0777) != 0) { fprintf(stderr, "Failed to create pidfile directory '%s': %s\n", dir, rrd_strerror(errno)); + free(dir); + free(file_copy); return -1; } + free(dir); free(file_copy); fd = open(file, oflag, S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH);