Re: [Qemu-devel] [PATCH 5/8] qemu-bridge-helper: Fix fd leak in main()

2014-05-28 Thread Gonglei (Arei)

 -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()

2014-05-27 Thread Stefan Hajnoczi
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()

2014-05-26 Thread arei.gonglei
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