]> git.ipfire.org Git - thirdparty/rrdtool-1.x.git/commitdiff
src/rrd_daemon.c: fix Coverity CIDs#32418,#32419 Resource leak
authorMarek Schimara <Marek.Schimara@bull.net>
Wed, 15 Jun 2016 09:34:49 +0000 (11:34 +0200)
committerMarek Schimara <Marek.Schimara@bull.net>
Thu, 23 Jun 2016 14:32:33 +0000 (16:32 +0200)
        CWE-404 / https://cwe.mitre.org/data/definitions/404.html

src/rrd_daemon.c

index 32d8a240533cfb5abeb5ac54db77935fcbc2639f..3c8773c7561c85a15629511c7960634d0ac20c1f 100644 (file)
@@ -3468,6 +3468,8 @@ static int open_listen_socket_network(const listen_socket_t *sock) /* {{{ */
     if (status != 0) {
       fprintf(stderr, "rrdcached: setsockopt(SO_REUSEADDR) failed: %s\n",
               rrd_strerror(errno));
+      close (fd);
+      freeaddrinfo(ai_res);
       return (-1);
     }
     /* Nagle will cause significant delay in processing requests so
@@ -3476,6 +3478,8 @@ static int open_listen_socket_network(const listen_socket_t *sock) /* {{{ */
     if (status != 0) {
       fprintf(stderr, "rrdcached: setsockopt(TCP_NODELAY) failed: %s\n",
               rrd_strerror(errno));
+      close (fd);
+      freeaddrinfo(ai_res);
       return (-1);
     }
 #ifdef IPV6_V6ONLY
@@ -3486,6 +3490,8 @@ static int open_listen_socket_network(const listen_socket_t *sock) /* {{{ */
       if (status != 0) {
         fprintf(stderr, "rrdcached: setsockopt(IPV6_V6ONLY) failed: %s\n",
                 rrd_strerror(errno));
+        close (fd);
+        freeaddrinfo(ai_res);
         return (-1);
       }
 #endif /* IPV6_V6ONLY */