From: Eric Blake Date: Mon, 11 Jul 2011 18:07:11 +0000 (-0600) Subject: qemu: avoid fd leak on core dump failure X-Git-Tag: v0.9.4-rc1~243 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f532bfa2978b378b50b2e8fccf906129a7b9a880;p=thirdparty%2Flibvirt.git qemu: avoid fd leak on core dump failure * src/qemu/qemu_driver.c (doCoreDump): Guarantee fd is closed. --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 1356c54e76..f9d2de48dc 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -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;