From: Jiri Denemark Date: Mon, 19 Jun 2017 15:00:28 +0000 (+0200) Subject: qemu: Avoid fd leak on incoming tunneled migration X-Git-Tag: v3.5.0-rc1~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2abb0e4bb21928ba281b68c142d3352c75645eb3;p=thirdparty%2Flibvirt.git qemu: Avoid fd leak on incoming tunneled migration While qemuProcessIncomingDefNew takes an fd argument and stores it in qemuProcessIncomingDef structure, the caller is still responsible for closing the file descriptor. Introduced by commit v1.2.21-140-ge7c6f4575. Signed-off-by: Jiri Denemark Reviewed-by: John Ferlan --- diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 8129dcd406..c23fffef2a 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -2690,7 +2690,6 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver, listenAddress, port, dataFD[0]))) goto stopjob; - dataFD[0] = -1; /* the FD is now owned by incoming */ if (qemuProcessPrepareDomain(dconn, driver, vm, VIR_QEMU_PROCESS_START_AUTODESTROY) < 0) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index f1447c33db..d669dfb32d 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4166,6 +4166,9 @@ qemuProcessIncomingDefFree(qemuProcessIncomingDefPtr inc) * This function does not copy @path, the caller is responsible for keeping * the @path pointer valid during the lifetime of the allocated * qemuProcessIncomingDef structure. + * + * The caller is responsible for closing @fd, calling + * qemuProcessIncomingDefFree will NOT close it. */ qemuProcessIncomingDefPtr qemuProcessIncomingDefNew(virQEMUCapsPtr qemuCaps,