diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 615c1f7a3c2dbe2a096e1f1cc33c9d2e8b1bd618..2b8b5502f2c90f6f0cfccb8c981616129849b9b6 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -274,16 +274,19 @@ qemudRemoveDomainStatus(virConnectPtr conn, if (virAsprintf(&file, "%s/%s.xml", driver->stateDir, vm->def->name) < 0) { virReportOOMError(conn); - goto cleanup; + return(-1); } if (unlink(file) < 0 && errno != ENOENT && errno != ENOTDIR) VIR_WARN(_("Failed to remove domain XML for %s: %s"), - vm->def->name, virStrerror(errno, buf, sizeof(ebuf))); + vm->def->name, virStrerror(errno, ebuf, sizeof(ebuf))); + VIR_FREE(file); + if (virFileDeletePid(driver->stateDir, vm->def->name) != 0) VIR_WARN(_("Failed to remove PID file for %s: %s"), vm->def->name, virStrerror(errno, ebuf, sizeof(ebuf))); + return 0; }