plugins: Fix two resource leaks in setup_socket()
authorAlex Chen <alex.chen@huawei.com>
Tue, 10 Nov 2020 19:23:08 +0000 (19:23 +0000)
committerAlex Bennée <alex.bennee@linaro.org>
Mon, 16 Nov 2020 11:07:37 +0000 (11:07 +0000)
Either accept() fails or exits normally, we need to close the fd.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201109082829.87496-3-alex.chen@huawei.com>
Message-Id: <20201110192316.26397-3-alex.bennee@linaro.org>

contrib/plugins/lockstep.c

index 319bd44b83221f8cdc8ee86af8d1f780908fb056..5aad50869d50c2cbd7e339f47f644cddccdb68ca 100644 (file)
@@ -268,11 +268,13 @@ static bool setup_socket(const char *path)
     socket_fd = accept(fd, NULL, NULL);
     if (socket_fd < 0 && errno != EINTR) {
         perror("accept socket");
+        close(fd);
         return false;
     }
 
     qemu_plugin_outs("setup_socket::ready\n");
 
+    close(fd);
     return true;
 }