Fix: check relayd fd leak in lttng cmdline
authorDavid Goulet <dgoulet@efficios.com>
Wed, 12 Mar 2014 18:47:39 +0000 (14:47 -0400)
committerDavid Goulet <dgoulet@efficios.com>
Wed, 12 Mar 2014 18:47:39 +0000 (14:47 -0400)
Fixes coverity issue 1188185.

Signed-off-by: David Goulet <dgoulet@efficios.com>
src/bin/lttng/utils.c

index b40465b38ebef7d987381ad82a5353524ef57a7a..257dfc89aeaa63d368486f47ff5ec7468656a6a8 100644 (file)
@@ -341,7 +341,8 @@ int check_relayd(void)
        fd = socket(AF_INET, SOCK_STREAM, 0);
        if (fd < 0) {
                perror("socket check relayd");
-               goto error;
+               ret = -1;
+               goto error_socket;
        }
 
        sin.sin_family = AF_INET;
@@ -349,6 +350,7 @@ int check_relayd(void)
        ret = inet_pton(sin.sin_family, "127.0.0.1", &sin.sin_addr);
        if (ret < 1) {
                perror("inet_pton check relayd");
+               ret = -1;
                goto error;
        }
 
@@ -365,8 +367,10 @@ int check_relayd(void)
                ret = 1;
        }
 
-       return ret;
-
 error:
-       return -1;
+       if (close(fd) < 0) {
+               perror("close relayd fd");
+       }
+error_socket:
+       return ret;
 }
This page took 0.026957 seconds and 4 git commands to generate.