Re: [Qemu-devel] [PATCH 5/8] qemu-bridge-helper: Fix fd leak in main()
-Original Message- From: Stefan Hajnoczi [mailto:stefa...@redhat.com] Sent: Tuesday, May 27, 2014 7:32 PM To: Gonglei (Arei) Cc: qemu-devel@nongnu.org; av1...@comtv.ru; kra...@redhat.com; lcapitul...@redhat.com; ler...@redhat.com; qiaonuo...@cn.fujitsu.com; afaer...@suse.de; ebl...@redhat.com; pbonz...@redhat.com; m...@redhat.com; Huangweidong (C); peter.crosthwa...@xilinx.com; kw...@redhat.com; crobi...@redhat.com; aligu...@amazon.com; arm...@redhat.com; Luonengjun Subject: Re: [PATCH 5/8] qemu-bridge-helper: Fix fd leak in main() On Tue, May 27, 2014 at 09:40:02AM +0800, arei.gong...@huawei.com wrote: From: Gonglei arei.gong...@huawei.com Signed-off-by: Gonglei arei.gong...@huawei.com --- qemu-bridge-helper.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/qemu-bridge-helper.c b/qemu-bridge-helper.c index 6a0974e..dce5abc 100644 --- a/qemu-bridge-helper.c +++ b/qemu-bridge-helper.c @@ -436,7 +436,12 @@ int main(int argc, char **argv) /* profit! */ cleanup: - +if (fd = 0) { +close(fd); +} +if (ctlfd = 0) { +close(ctlfd); +} fd and ctlfd are uninitialized: int fd, ctlfd, unixfd = -1; This patch introduces a read of uninitialized memory and could close a random file descriptor. There wasn't a real leak since this is the main() function and the kernel frees resources when the process terminates. Please either drop this patch or fix it carefully. OK, Thanks. Best regards, -Gonglei
Re: [Qemu-devel] [PATCH 5/8] qemu-bridge-helper: Fix fd leak in main()
On Tue, May 27, 2014 at 09:40:02AM +0800, arei.gong...@huawei.com wrote: From: Gonglei arei.gong...@huawei.com Signed-off-by: Gonglei arei.gong...@huawei.com --- qemu-bridge-helper.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/qemu-bridge-helper.c b/qemu-bridge-helper.c index 6a0974e..dce5abc 100644 --- a/qemu-bridge-helper.c +++ b/qemu-bridge-helper.c @@ -436,7 +436,12 @@ int main(int argc, char **argv) /* profit! */ cleanup: - +if (fd = 0) { +close(fd); +} +if (ctlfd = 0) { +close(ctlfd); +} fd and ctlfd are uninitialized: int fd, ctlfd, unixfd = -1; This patch introduces a read of uninitialized memory and could close a random file descriptor. There wasn't a real leak since this is the main() function and the kernel frees resources when the process terminates. Please either drop this patch or fix it carefully.
[Qemu-devel] [PATCH 5/8] qemu-bridge-helper: Fix fd leak in main()
From: Gonglei arei.gong...@huawei.com Signed-off-by: Gonglei arei.gong...@huawei.com --- qemu-bridge-helper.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/qemu-bridge-helper.c b/qemu-bridge-helper.c index 6a0974e..dce5abc 100644 --- a/qemu-bridge-helper.c +++ b/qemu-bridge-helper.c @@ -436,7 +436,12 @@ int main(int argc, char **argv) /* profit! */ cleanup: - +if (fd = 0) { +close(fd); +} +if (ctlfd = 0) { +close(ctlfd); +} while ((acl_rule = QSIMPLEQ_FIRST(acl_list)) != NULL) { QSIMPLEQ_REMOVE_HEAD(acl_list, entry); g_free(acl_rule); -- 1.7.12.4