Change all feasible strings and scalar pointers to use g_autofree. Signed-off-by: Daniel Henrique Barboza <danielhb413@xxxxxxxxx> --- src/qemu/qemu_process.c | 97 +++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 63 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 7e1db50e8f..d6d6a9f09b 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -105,7 +105,7 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, virDomainObjPtr vm) { char ebuf[1024]; - char *file = NULL; + g_autofree char *file = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); @@ -114,7 +114,6 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, if (unlink(file) < 0 && errno != ENOENT && errno != ENOTDIR) VIR_WARN("Failed to remove domain XML for %s: %s", vm->def->name, virStrerror(errno, ebuf, sizeof(ebuf))); - VIR_FREE(file); if (priv->pidfile && unlink(priv->pidfile) < 0 && @@ -1501,7 +1500,7 @@ qemuProcessHandleBlockThreshold(qemuMonitorPtr mon G_GNUC_UNUSED, virDomainDiskDefPtr disk; virStorageSourcePtr src; unsigned int idx; - char *dev = NULL; + g_autofree char *dev = NULL; const char *path = NULL; virObjectLock(vm); @@ -1514,11 +1513,9 @@ qemuProcessHandleBlockThreshold(qemuMonitorPtr mon G_GNUC_UNUSED, if (virStorageSourceIsLocalStorage(src)) path = src->path; - if ((dev = qemuDomainDiskBackingStoreGetName(disk, src, idx))) { + if ((dev = qemuDomainDiskBackingStoreGetName(disk, src, idx))) event = virDomainEventBlockThresholdNewFromObj(vm, dev, path, threshold, excess); - VIR_FREE(dev); - } } virObjectUnlock(vm); @@ -2052,7 +2049,7 @@ static int qemuProcessReportLogError(qemuDomainLogContextPtr logCtxt, const char *msgprefix) { - char *logmsg = NULL; + g_autofree char *logmsg = NULL; size_t max; max = VIR_ERROR_MAX_LENGTH - 1; @@ -2069,7 +2066,6 @@ qemuProcessReportLogError(qemuDomainLogContextPtr logCtxt, else virReportError(VIR_ERR_INTERNAL_ERROR, _("%s: %s"), msgprefix, logmsg); - VIR_FREE(logmsg); return 0; } @@ -2089,7 +2085,7 @@ qemuProcessLookupPTYs(virDomainChrDefPtr *devices, int count, virHashTablePtr info) { - char *id = NULL; + g_autofree char *id = NULL; size_t i; int ret = -1; @@ -2098,7 +2094,7 @@ qemuProcessLookupPTYs(virDomainChrDefPtr *devices, if (chr->source->type == VIR_DOMAIN_CHR_TYPE_PTY) { qemuMonitorChardevInfoPtr entry; - VIR_FREE(id); + g_free(id); id = g_strdup_printf("char%s", chr->info.alias); entry = virHashLookup(info, id); @@ -2118,14 +2114,13 @@ qemuProcessLookupPTYs(virDomainChrDefPtr *devices, } } - VIR_FREE(chr->source->data.file.path); + g_free(chr->source->data.file.path); chr->source->data.file.path = g_strdup(entry->ptyPath); } } ret = 0; cleanup: - VIR_FREE(id); return ret; } @@ -2178,7 +2173,7 @@ qemuProcessRefreshChannelVirtioState(virQEMUDriverPtr driver, int agentReason = VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_CHANNEL; qemuMonitorChardevInfoPtr entry; virObjectEventPtr event = NULL; - char *id = NULL; + g_autofree char *id = NULL; if (booted) agentReason = VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_DOMAIN_STARTED; @@ -2204,8 +2199,6 @@ qemuProcessRefreshChannelVirtioState(virQEMUDriverPtr driver, chr->state = entry->state; } } - - VIR_FREE(id); } @@ -2622,7 +2615,7 @@ qemuProcessSetupPid(virDomainObjPtr vm, virBitmapPtr use_cpumask = NULL; virBitmapPtr afinity_cpumask = NULL; g_autoptr(virBitmap) hostcpumap = NULL; - char *mem_mask = NULL; + g_autofree char *mem_mask = NULL; int ret = -1; if ((period || quota) && @@ -2702,7 +2695,6 @@ qemuProcessSetupPid(virDomainObjPtr vm, ret = 0; cleanup: - VIR_FREE(mem_mask); if (cgroup) { if (ret < 0) virCgroupRemove(cgroup); @@ -2781,7 +2773,7 @@ qemuProcessKillManagedPRDaemon(virDomainObjPtr vm) { qemuDomainObjPrivatePtr priv = vm->privateData; virErrorPtr orig_err; - char *pidfile; + g_autofree char *pidfile = NULL; if (!(pidfile = qemuProcessBuildPRHelperPidfilePath(vm))) { VIR_WARN("Unable to construct pr-helper pidfile path"); @@ -2802,8 +2794,6 @@ qemuProcessKillManagedPRDaemon(virDomainObjPtr vm) } } virErrorRestore(&orig_err); - - VIR_FREE(pidfile); } @@ -2812,7 +2802,7 @@ qemuProcessStartPRDaemonHook(void *opaque) { virDomainObjPtr vm = opaque; size_t i, nfds = 0; - int *fds = NULL; + g_autofree int *fds = NULL; int ret = -1; if (qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) { @@ -2828,7 +2818,6 @@ qemuProcessStartPRDaemonHook(void *opaque) cleanup: for (i = 0; i < nfds; i++) VIR_FORCE_CLOSE(fds[i]); - VIR_FREE(fds); return ret; } @@ -2840,9 +2829,9 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) virQEMUDriverPtr driver = priv->driver; virQEMUDriverConfigPtr cfg; int errfd = -1; - char *pidfile = NULL; + g_autofree char *pidfile = NULL; int pidfd = -1; - char *socketPath = NULL; + g_autofree char *socketPath = NULL; pid_t cpid = -1; virCommandPtr cmd = NULL; virTimeBackOffVar timebackoff; @@ -2948,9 +2937,7 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) unlink(pidfile); } virCommandFree(cmd); - VIR_FREE(socketPath); VIR_FORCE_CLOSE(pidfd); - VIR_FREE(pidfile); VIR_FORCE_CLOSE(errfd); virObjectUnref(cfg); return ret; @@ -3366,7 +3353,7 @@ qemuProcessUpdateState(virQEMUDriverPtr driver, virDomainObjPtr vm) int oldReason; int newReason; bool running; - char *msg = NULL; + g_autofree char *msg = NULL; int ret; qemuDomainObjEnterMonitor(driver, vm); @@ -3414,7 +3401,6 @@ qemuProcessUpdateState(virQEMUDriverPtr driver, virDomainObjPtr vm) NULLSTR(msg), virDomainStateTypeToString(newState), virDomainStateReasonToString(newState, newReason)); - VIR_FREE(msg); virDomainObjSetState(vm, newState, newReason); } @@ -3879,7 +3865,7 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver, bool build) { virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); - char *path = NULL; + g_autofree char *path = NULL; size_t i; bool shouldBuildHP = false; bool shouldBuildMB = false; @@ -3912,13 +3898,10 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver, if (qemuProcessBuildDestroyMemoryPathsImpl(driver, vm, path, build) < 0) goto cleanup; - - VIR_FREE(path); } ret = 0; cleanup: - VIR_FREE(path); virObjectUnref(cfg); return ret; } @@ -3930,7 +3913,7 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr driver, virDomainMemoryDefPtr mem) { virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); - char *path = NULL; + g_autofree char *path = NULL; int ret = -1; if (qemuGetMemoryBackingPath(vm->def, cfg, mem->info.alias, &path) < 0) @@ -3944,7 +3927,6 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr driver, ret = 0; cleanup: - VIR_FREE(path); virObjectUnref(cfg); return ret; } @@ -4079,11 +4061,12 @@ static int qemuProcessVerifyHypervFeatures(virDomainDefPtr def, virCPUDataPtr cpu) { - char *cpuFeature; size_t i; int rc; for (i = 0; i < VIR_DOMAIN_HYPERV_LAST; i++) { + g_autofree char *cpuFeature = NULL; + /* always supported string property */ if (i == VIR_DOMAIN_HYPERV_VENDOR_ID || i == VIR_DOMAIN_HYPERV_SPINLOCKS) @@ -4095,7 +4078,6 @@ qemuProcessVerifyHypervFeatures(virDomainDefPtr def, cpuFeature = g_strdup_printf("hv-%s", virDomainHypervTypeToString(i)); rc = virCPUDataCheckFeature(cpu, cpuFeature); - VIR_FREE(cpuFeature); if (rc < 0) { return -1; @@ -4518,17 +4500,17 @@ qemuLogOperation(virDomainObjPtr vm, virCommandPtr cmd, qemuDomainLogContextPtr logCtxt) { - char *timestamp; + g_autofree char *timestamp = NULL; qemuDomainObjPrivatePtr priv = vm->privateData; int qemuVersion = virQEMUCapsGetVersion(priv->qemuCaps); const char *package = virQEMUCapsGetPackage(priv->qemuCaps); - char *hostname = virGetHostname(); + g_autofree char *hostname = virGetHostname(); struct utsname uts; uname(&uts); if ((timestamp = virTimeStringNow()) == NULL) - goto cleanup; + return; if (qemuDomainLogContextWrite(logCtxt, "%s: %s %s, qemu version: %d.%d.%d%s, kernel: %s, hostname: %s\n", @@ -4539,17 +4521,12 @@ qemuLogOperation(virDomainObjPtr vm, NULLSTR_EMPTY(package), uts.release, NULLSTR_EMPTY(hostname)) < 0) - goto cleanup; + return; if (cmd) { - char *args = virCommandToString(cmd, true); + g_autofree char *args = virCommandToString(cmd, true); qemuDomainLogContextWrite(logCtxt, "%s\n", args); - VIR_FREE(args); } - - cleanup: - VIR_FREE(hostname); - VIR_FREE(timestamp); } @@ -4647,7 +4624,7 @@ qemuProcessStartHook(virQEMUDriverPtr driver, virHookSubopType subop) { qemuDomainObjPrivatePtr priv = vm->privateData; - char *xml; + g_autofree char *xml = NULL; int ret; if (!virHookPresent(VIR_HOOK_DRIVER_QEMU)) @@ -4658,7 +4635,6 @@ qemuProcessStartHook(virQEMUDriverPtr driver, ret = virHookCall(VIR_HOOK_DRIVER_QEMU, vm->def->name, op, subop, NULL, xml, NULL); - VIR_FREE(xml); return ret; } @@ -4771,7 +4747,7 @@ qemuProcessGetNetworkAddress(const char *netname, virSocketAddr addr; virSocketAddrPtr addrptr = NULL; char *dev_name = NULL; - char *xml = NULL; + g_autofree char *xml = NULL; *netaddr = NULL; @@ -4853,7 +4829,6 @@ qemuProcessGetNetworkAddress(const char *netname, virNetworkDefFree(netdef); virObjectUnref(net); virObjectUnref(conn); - VIR_FREE(xml); return ret; } @@ -6392,7 +6367,7 @@ qemuProcessSEVCreateFile(virDomainObjPtr vm, { qemuDomainObjPrivatePtr priv = vm->privateData; virQEMUDriverPtr driver = priv->driver; - char *configFile; + g_autofree char *configFile = NULL; int ret = -1; if (!(configFile = virFileBuildPath(priv->libDir, name, ".base64"))) @@ -6409,7 +6384,6 @@ qemuProcessSEVCreateFile(virDomainObjPtr vm, ret = 0; cleanup: - VIR_FREE(configFile); return ret; } @@ -6746,7 +6720,7 @@ qemuProcessLaunch(virConnectPtr conn, struct qemuProcessHookData hookData; virQEMUDriverConfigPtr cfg; size_t nnicindexes = 0; - int *nicindexes = NULL; + g_autofree int *nicindexes = NULL; size_t i; VIR_DEBUG("conn=%p driver=%p vm=%p name=%s if=%d asyncJob=%d " @@ -7053,7 +7027,6 @@ qemuProcessLaunch(virConnectPtr conn, virCommandFree(cmd); virObjectUnref(logCtxt); virObjectUnref(cfg); - VIR_FREE(nicindexes); return ret; } @@ -7374,7 +7347,7 @@ void qemuProcessStop(virQEMUDriverPtr driver, virDomainDefPtr def = vm->def; const virNetDevVPortProfile *vport = NULL; size_t i; - char *timestamp; + g_autofree char *timestamp = NULL; virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); virConnectPtr conn = NULL; @@ -7417,7 +7390,6 @@ void qemuProcessStop(virQEMUDriverPtr driver, qemuDomainLogAppendMessage(driver, vm, "%s: shutting down, reason=%s\n", timestamp, virDomainShutoffReasonTypeToString(reason)); - VIR_FREE(timestamp); } /* Clear network bandwidth */ @@ -7488,13 +7460,12 @@ void qemuProcessStop(virQEMUDriverPtr driver, /* now that we know it's stopped call the hook if present */ if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) { - char *xml = qemuDomainDefFormatXML(driver, NULL, vm->def, 0); + g_autofree char *xml = qemuDomainDefFormatXML(driver, NULL, vm->def, 0); /* we can't stop the operation even if the script raised an error */ ignore_value(virHookCall(VIR_HOOK_DRIVER_QEMU, vm->def->name, VIR_HOOK_QEMU_OP_STOPPED, VIR_HOOK_SUBOP_END, NULL, xml, NULL)); - VIR_FREE(xml); } /* Reset Security Labels unless caller don't want us to */ @@ -7677,13 +7648,12 @@ void qemuProcessStop(virQEMUDriverPtr driver, /* The "release" hook cleans up additional resources */ if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) { - char *xml = qemuDomainDefFormatXML(driver, NULL, vm->def, 0); + g_autofree char *xml = qemuDomainDefFormatXML(driver, NULL, vm->def, 0); /* we can't stop the operation even if the script raised an error */ virHookCall(VIR_HOOK_DRIVER_QEMU, vm->def->name, VIR_HOOK_QEMU_OP_RELEASE, VIR_HOOK_SUBOP_END, NULL, xml, NULL); - VIR_FREE(xml); } virDomainObjRemoveTransientDef(vm); @@ -8228,13 +8198,14 @@ qemuProcessReconnect(void *opaque) /* Run an hook to allow admins to do some magic */ if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) { - char *xml = qemuDomainDefFormatXML(driver, priv->qemuCaps, obj->def, 0); + g_autofree char *xml = qemuDomainDefFormatXML(driver, + priv->qemuCaps, + obj->def, 0); int hookret; hookret = virHookCall(VIR_HOOK_DRIVER_QEMU, obj->def->name, VIR_HOOK_QEMU_OP_RECONNECT, VIR_HOOK_SUBOP_BEGIN, NULL, xml, NULL); - VIR_FREE(xml); /* * If the script raised an error abort the launch @@ -8489,7 +8460,7 @@ qemuProcessQEMULabelUniqPath(qemuProcessQMPPtr proc) static int qemuProcessQMPInit(qemuProcessQMPPtr proc) { - char *template = NULL; + g_autofree char *template = NULL; VIR_DEBUG("proc=%p, emulator=%s", proc, proc->binary); -- 2.23.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list