]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
qemu: avoid fd leak on core dump failure
authorEric Blake <eblake@redhat.com>
Mon, 11 Jul 2011 18:07:11 +0000 (12:07 -0600)
committerEric Blake <eblake@redhat.com>
Tue, 12 Jul 2011 13:24:43 +0000 (07:24 -0600)
* src/qemu/qemu_driver.c (doCoreDump): Guarantee fd is closed.

src/qemu/qemu_driver.c

index 1356c54e769e78c93754c6dacb9ab0f1ccb4c4e7..f9d2de48dca358b764c145eacf11782e769ca877 100644 (file)
@@ -2525,10 +2525,11 @@ cleanup:
     return ret;
 }
 
-static int doCoreDump(struct qemud_driver *driver,
-                      virDomainObjPtr vm,
-                      const char *path,
-                      enum qemud_save_formats compress)
+static int
+doCoreDump(struct qemud_driver *driver,
+           virDomainObjPtr vm,
+           const char *path,
+           enum qemud_save_formats compress)
 {
     int fd = -1;
     int ret = -1;
@@ -2554,6 +2555,7 @@ static int doCoreDump(struct qemud_driver *driver,
     ret = 0;
 
 cleanup:
+    VIR_FORCE_CLOSE(fd);
     if (ret != 0)
         unlink(path);
     return ret;