&pages_size, NULL, NULL, &npages) < 0)
goto cleanup;
- caps->host.pagesSize = pages_size;
- pages_size = NULL;
+ caps->host.pagesSize = g_steal_pointer(&pages_size);
caps->host.nPagesSize = npages;
npages = 0;
if (!(hub = virDomainUSBAddressHubNew(nports)))
goto cleanup;
- addrs->buses[cont->idx] = hub;
- hub = NULL;
+ addrs->buses[cont->idx] = g_steal_pointer(&hub);
ret = 0;
cleanup:
goto cleanup;
}
ignore_value(virBitmapSetBit(targetHub->portmap, targetPort));
- targetHub->ports[targetPort] = newHub;
- newHub = NULL;
+ targetHub->ports[targetPort] = g_steal_pointer(&newHub);
ret = 0;
cleanup:
return;
virDomainDefFree(domain->def);
- domain->def = domain->newDef;
+ domain->def = g_steal_pointer(&domain->newDef);
domain->def->id = -1;
- domain->newDef = NULL;
}
if (virPCIEDeviceInfoParseXML(ctxt, pciExpress, pci_express) < 0)
goto out;
- pci_dev->pci_express = pci_express;
- pci_express = NULL;
+ pci_dev->pci_express = g_steal_pointer(&pci_express);
pci_dev->flags |= VIR_NODE_DEV_CAP_FLAG_PCIE;
}
name_prefix = virNWFilterIsAllowedChain(chain);
if (name_prefix == NULL)
goto cleanup;
- ret->chainsuffix = chain;
+ ret->chainsuffix = g_steal_pointer(&chain);
if (chain_pri_s) {
ret->chainPriority = chain_priority;
NWFILTER_MIN_FILTER_PRIORITY) / 2;
}
}
- chain = NULL;
} else {
ret->chainsuffix = g_strdup(virNWFilterChainSuffixTypeToString(VIR_NWFILTER_CHAINSUFFIX_ROOT));
}
/* Copy the queue, so we're reentrant safe when dispatchFunc drops the
* driver lock */
tempQueue.count = state->queue->count;
- tempQueue.events = state->queue->events;
+ tempQueue.events = g_steal_pointer(&state->queue->events);
state->queue->count = 0;
- state->queue->events = NULL;
if (state->timer != -1)
virEventUpdateTimeout(state->timer, -1);
curr = curr->sibling;
}
if (prev)
- prev->sibling = moment->sibling;
+ prev->sibling = g_steal_pointer(&moment->sibling);
else
- moment->parent->first_child = moment->sibling;
+ moment->parent->first_child = g_steal_pointer(&moment->sibling);
moment->parent = NULL;
- moment->sibling = NULL;
}
child = child->sibling;
}
to->nchildren += from->nchildren;
- to->first_child = from->first_child;
+ to->first_child = g_steal_pointer(&from->first_child);
from->nchildren = 0;
- from->first_child = NULL;
}
if (data.ifaces) {
/* trim the array to the final size */
VIR_REALLOC_N(data.ifaces, data.nifaces + 1);
- *ifaces = data.ifaces;
- data.ifaces = NULL;
+ *ifaces = g_steal_pointer(&data.ifaces);
}
ret = data.nifaces;
{
if (obj->newDef) {
virNetworkDefFree(obj->def);
- obj->def = obj->newDef;
- obj->newDef = NULL;
+ obj->def = g_steal_pointer(&obj->newDef);
}
}
if (livedef) {
/* successfully modified copy, now replace original */
virNetworkDefFree(obj->def);
- obj->def = livedef;
- livedef = NULL;
+ obj->def = g_steal_pointer(&livedef);
}
ret = 0;
if (data.nets) {
/* trim the array to the final size */
VIR_REALLOC_N(data.nets, data.nnets + 1);
- *nets = data.nets;
- data.nets = NULL;
+ *nets = g_steal_pointer(&data.nets);
}
ret = data.nnets;
if (data.ports) {
/* trim the array to the final size */
VIR_REALLOC_N(data.ports, data.nports + 1);
- *ports = data.ports;
- data.ports = NULL;
+ *ports = g_steal_pointer(&data.ports);
}
ret = data.nports;
virStoragePoolObjDefUseNewDef(virStoragePoolObjPtr obj)
{
virStoragePoolDefFree(obj->def);
- obj->def = obj->newDef;
- obj->newDef = NULL;
+ obj->def = g_steal_pointer(&obj->newDef);
}
if (!(priv->xmlopt = virVMXDomainXMLConfInit(priv->caps)))
goto cleanup;
- conn->privateData = priv;
- priv = NULL;
+ conn->privateData = g_steal_pointer(&priv);
result = VIR_DRV_OPEN_SUCCESS;
cleanup:
goto cleanup;
}
- spec->cpuAllocation->shares = sharesInfo;
- sharesInfo = NULL;
+ spec->cpuAllocation->shares = g_steal_pointer(&sharesInfo);
if (params[i].value.i >= 0) {
spec->cpuAllocation->shares->level = esxVI_SharesLevel_Custom;
}
if (doms) {
- *domains = doms;
- doms = NULL;
+ *domains = g_steal_pointer(&doms);
}
ret = count;
}
}
- *fileInfo = searchResults->file;
- searchResults->file = NULL;
+ *fileInfo = g_steal_pointer(&searchResults->file);
result = 0;
return -1;
}
- dest->path = src->path;
- src->path = NULL;
+ dest->path = g_steal_pointer(&src->path);
}
}
}
virInterfaceDefFree(def);
- names[want++] = allnames[i];
- allnames[i] = NULL;
+ names[want++] = g_steal_pointer(&allnames[i]);
}
ret = want;
}
virBitmapFree(vcpuinfo->cpumask);
- vcpuinfo->cpumask = pcpumap;
- pcpumap = NULL;
+ vcpuinfo->cpumask = g_steal_pointer(&pcpumap);
ret = 0;
switch (dev->type) {
case VIR_DOMAIN_DEVICE_DISK:
- disk = dev->data.disk;
+ disk = g_steal_pointer(&dev->data.disk);
if (virDomainDiskIndexByName(vmdef, disk->dst, true) >= 0) {
virReportError(VIR_ERR_INVALID_ARG,
_("target %s already exists."), disk->dst);
}
virDomainDiskInsert(vmdef, disk);
/* vmdef has the pointer. Generic codes for vmdef will do all jobs */
- dev->data.disk = NULL;
break;
case VIR_DOMAIN_DEVICE_CONTROLLER:
- controller = dev->data.controller;
+ controller = g_steal_pointer(&dev->data.controller);
if (controller->idx != -1 &&
virDomainControllerFind(vmdef, controller->type,
controller->idx) >= 0) {
}
virDomainControllerInsert(vmdef, controller);
- dev->data.controller = NULL;
break;
case VIR_DOMAIN_DEVICE_NET:
- net = dev->data.net;
+ net = g_steal_pointer(&dev->data.net);
if (virDomainHasNet(vmdef, net)) {
virReportError(VIR_ERR_INVALID_ARG,
_("network device with mac %s already exists"),
}
if (virDomainNetInsert(vmdef, net))
return -1;
- dev->data.net = NULL;
break;
case VIR_DOMAIN_DEVICE_HOSTDEV:
args->conn = virObjectRef(dconn);
args->vm = virObjectRef(vm);
args->flags = flags;
- args->migcookie = mig;
+ args->migcookie = g_steal_pointer(&mig);
/* Receive from pipeOut */
args->recvfd = dataFD[0];
args->nsocks = 0;
- mig = NULL;
VIR_FREE(priv->migrationDstReceiveThr);
priv->migrationDstReceiveThr = g_new0(virThread, 1);
args->flags = flags;
args->socks = socks;
args->nsocks = nsocks;
- args->migcookie = mig;
- mig = NULL;
+ args->migcookie = g_steal_pointer(&mig);
for (i = 0; i < nsocks; i++) {
if (virNetSocketSetBlocking(socks[i], true) < 0)
if (STRPREFIX(type, "socket")) {
channel->source->type = VIR_DOMAIN_CHR_TYPE_UNIX;
channel->source->data.nix.listen = 1;
- channel->source->data.nix.path = path;
- path = NULL;
+ channel->source->data.nix.path = g_steal_pointer(&path);
} else if (STRPREFIX(type, "pty")) {
channel->source->type = VIR_DOMAIN_CHR_TYPE_PTY;
VIR_FREE(path);
channel->deviceType = VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL;
channel->targetType = VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_XEN;
- channel->target.name = name;
- name = NULL;
+ channel->target.name = g_steal_pointer(&name);
if (VIR_APPEND_ELEMENT(def->channels, def->nchannels, channel) < 0)
goto cleanup;
*/
fs->type = VIR_DOMAIN_FS_TYPE_BLOCK;
g_free(fs->src->path);
- fs->src->path = loname;
- loname = NULL;
+ fs->src->path = g_steal_pointer(&loname);
return lofd;
}
switch (dev->type) {
case VIR_DOMAIN_DEVICE_DISK:
- disk = dev->data.disk;
+ disk = g_steal_pointer(&dev->data.disk);
if (virDomainDiskIndexByName(vmdef, disk->dst, true) >= 0) {
virReportError(VIR_ERR_INVALID_ARG,
_("target %s already exists."), disk->dst);
}
virDomainDiskInsert(vmdef, disk);
/* vmdef has the pointer. Generic codes for vmdef will do all jobs */
- dev->data.disk = NULL;
ret = 0;
break;
case VIR_DOMAIN_DEVICE_NET:
- net = dev->data.net;
+ net = g_steal_pointer(&dev->data.net);
if (virDomainNetInsert(vmdef, net) < 0)
return -1;
- dev->data.net = NULL;
ret = 0;
break;
case VIR_DOMAIN_DEVICE_HOSTDEV:
- hostdev = dev->data.hostdev;
+ hostdev = g_steal_pointer(&dev->data.hostdev);
if (virDomainHostdevFind(vmdef, hostdev, NULL) >= 0) {
virReportError(VIR_ERR_INVALID_ARG, "%s",
_("device is already in the domain configuration"));
}
if (virDomainHostdevInsert(vmdef, hostdev) < 0)
return -1;
- dev->data.hostdev = NULL;
ret = 0;
break;
switch (dev->type) {
case VIR_DOMAIN_DEVICE_NET:
- net = dev->data.net;
+ net = g_steal_pointer(&dev->data.net);
if ((idx = virDomainNetFindIdx(vmdef, net)) < 0)
return -1;
return -1;
virDomainNetDefFree(oldDev.data.net);
- dev->data.net = NULL;
ret = 0;
break;
*/
VIR_DEBUG("Clear EOF callback mon=%p", mon);
vm = mon->vm;
- client = mon->client;
- mon->client = NULL;
+ client = g_steal_pointer(&mon->client);
mon->cb.eofNotify = NULL;
virObjectRef(vm);
if (!device) {
VIR_EXPAND_N(def->blkio.devices, def->blkio.ndevices, 1);
device = &def->blkio.devices[def->blkio.ndevices - 1];
- device->path = path;
- path = NULL;
+ device->path = g_steal_pointer(&path);
}
/* Set the value */
* to use the current 'def', and not switch to 'newDef'.
* So temporarily hide the newDef and then reinstate it
*/
- savedDef = vm->newDef;
- vm->newDef = NULL;
+ savedDef = g_steal_pointer(&vm->newDef);
virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
vm->newDef = savedDef;
if (virLXCProcessStart(conn, driver, vm,
pci_express->link_sta->port = -1; /* PCIe can't negotiate port. Yet :) */
}
pci_dev->flags |= VIR_NODE_DEV_CAP_FLAG_PCIE;
- pci_dev->pci_express = pci_express;
- pci_express = NULL;
+ pci_dev->pci_express = g_steal_pointer(&pci_express);
}
}
goto cleanup;
}
}
- msg->rxObject = obj;
+ msg->rxObject = g_steal_pointer(&obj);
msg->finished = true;
- obj = NULL;
} else {
/* we are out of sync */
VIR_DEBUG("Ignoring delayed reply");
job->data.commit.top = NULL;
if (cfgbaseparent) {
- cfgbase = cfgbaseparent->backingStore;
- cfgbaseparent->backingStore = NULL;
+ cfgbase = g_steal_pointer(&cfgbaseparent->backingStore);
if (cfgtopparent)
cfgtopparent->backingStore = cfgbase;
*/
qemuBlockJobRewriteConfigDiskSource(vm, job->disk, job->data.commit.base);
} else {
- cfgbase = cfgbaseparent->backingStore;
- cfgbaseparent->backingStore = NULL;
+ cfgbase = g_steal_pointer(&cfgbaseparent->backingStore);
cfgdisk->src = cfgbase;
cfgdisk->src->readonly = cfgtop->readonly;
virObjectUnref(cfgtop);
if (obj && obj->privateData) {
priv = obj->privateData;
/* if this is the live domain object, we persist the PCI addresses */
- priv->pciaddrs = addrs;
- addrs = NULL;
+ priv->pciaddrs = g_steal_pointer(&addrs);
}
ret = 0;
if (obj && obj->privateData) {
priv = obj->privateData;
- priv->usbaddrs = addrs;
- addrs = NULL;
+ priv->usbaddrs = g_steal_pointer(&addrs);
}
ret = 0;
switch ((virDomainDeviceType)dev->type) {
case VIR_DOMAIN_DEVICE_DISK:
- disk = dev->data.disk;
+ disk = g_steal_pointer(&dev->data.disk);
if (virDomainDiskIndexByName(vmdef, disk->dst, true) >= 0) {
virReportError(VIR_ERR_OPERATION_INVALID,
_("target %s already exists"), disk->dst);
return -1;
virDomainDiskInsert(vmdef, disk);
/* vmdef has the pointer. Generic codes for vmdef will do all jobs */
- dev->data.disk = NULL;
break;
case VIR_DOMAIN_DEVICE_NET:
- net = dev->data.net;
+ net = g_steal_pointer(&dev->data.net);
if (virDomainNetInsert(vmdef, net))
return -1;
- dev->data.net = NULL;
break;
case VIR_DOMAIN_DEVICE_SOUND:
- sound = dev->data.sound;
+ sound = g_steal_pointer(&dev->data.sound);
if (VIR_APPEND_ELEMENT(vmdef->sounds, vmdef->nsounds, sound) < 0)
return -1;
- dev->data.sound = NULL;
break;
case VIR_DOMAIN_DEVICE_HOSTDEV:
- hostdev = dev->data.hostdev;
+ hostdev = g_steal_pointer(&dev->data.hostdev);
if (virDomainHostdevFind(vmdef, hostdev, NULL) >= 0) {
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
_("device is already in the domain configuration"));
}
if (virDomainHostdevInsert(vmdef, hostdev))
return -1;
- dev->data.hostdev = NULL;
break;
case VIR_DOMAIN_DEVICE_LEASE:
- lease = dev->data.lease;
+ lease = g_steal_pointer(&dev->data.lease);
if (virDomainLeaseIndex(vmdef, lease) >= 0) {
virReportError(VIR_ERR_OPERATION_INVALID,
_("Lease %s in lockspace %s already exists"),
virDomainLeaseInsert(vmdef, lease);
/* vmdef has the pointer. Generic codes for vmdef will do all jobs */
- dev->data.lease = NULL;
break;
case VIR_DOMAIN_DEVICE_CONTROLLER:
- controller = dev->data.controller;
+ controller = g_steal_pointer(&dev->data.controller);
if (controller->idx != -1 &&
virDomainControllerFind(vmdef, controller->type,
controller->idx) >= 0) {
}
virDomainControllerInsert(vmdef, controller);
- dev->data.controller = NULL;
break;
break;
case VIR_DOMAIN_DEVICE_FS:
- fs = dev->data.fs;
+ fs = g_steal_pointer(&dev->data.fs);
if (virDomainFSIndexByName(vmdef, fs->dst) >= 0) {
virReportError(VIR_ERR_OPERATION_INVALID,
"%s", _("Target already exists"));
if (virDomainFSInsert(vmdef, fs) < 0)
return -1;
- dev->data.fs = NULL;
break;
case VIR_DOMAIN_DEVICE_RNG:
break;
case VIR_DOMAIN_DEVICE_REDIRDEV:
- redirdev = dev->data.redirdev;
+ redirdev = g_steal_pointer(&dev->data.redirdev);
if (VIR_APPEND_ELEMENT(vmdef->redirdevs, vmdef->nredirdevs, redirdev) < 0)
return -1;
- dev->data.redirdev = NULL;
break;
case VIR_DOMAIN_DEVICE_SHMEM:
- shmem = dev->data.shmem;
+ shmem = g_steal_pointer(&dev->data.shmem);
if (virDomainShmemDefFind(vmdef, shmem) >= 0) {
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
_("device is already in the domain configuration"));
}
if (virDomainShmemDefInsert(vmdef, shmem) < 0)
return -1;
- dev->data.shmem = NULL;
break;
case VIR_DOMAIN_DEVICE_WATCHDOG:
switch ((virDomainDeviceType)dev->type) {
case VIR_DOMAIN_DEVICE_DISK:
- newDisk = dev->data.disk;
+ newDisk = g_steal_pointer(&dev->data.disk);
if ((pos = virDomainDiskIndexByName(vmdef, newDisk->dst, false)) < 0) {
virReportError(VIR_ERR_INVALID_ARG,
_("target %s doesn't exist."), newDisk->dst);
virDomainDiskDefFree(vmdef->disks[pos]);
vmdef->disks[pos] = newDisk;
- dev->data.disk = NULL;
break;
case VIR_DOMAIN_DEVICE_GRAPHICS:
- newGraphics = dev->data.graphics;
+ newGraphics = g_steal_pointer(&dev->data.graphics);
pos = qemuDomainFindGraphicsIndex(vmdef, newGraphics);
if (pos < 0) {
virReportError(VIR_ERR_INVALID_ARG,
virDomainGraphicsDefFree(vmdef->graphics[pos]);
vmdef->graphics[pos] = newGraphics;
- dev->data.graphics = NULL;
break;
case VIR_DOMAIN_DEVICE_NET:
- net = dev->data.net;
+ net = g_steal_pointer(&dev->data.net);
if ((pos = virDomainNetFindIdx(vmdef, net)) < 0)
return -1;
return -1;
virDomainNetDefFree(oldDev.data.net);
- dev->data.net = NULL;
break;
case VIR_DOMAIN_DEVICE_FS:
if (!def || !*def)
return 0;
- mig->persistent = *def;
- *def = NULL;
+ mig->persistent = g_steal_pointer(&*def);
mig->flags |= QEMU_MIGRATION_COOKIE_PERSISTENT;
mig->flagsMandatory |= QEMU_MIGRATION_COOKIE_PERSISTENT;
return 0;
for (i = 0; i < nprops; i++) {
if (STREQ(bprops[i]->name, "guest-stats-polling-interval")) {
VIR_DEBUG("Found Balloon Object Path %s", path);
- mon->balloonpath = path;
- path = NULL;
+ mon->balloonpath = g_steal_pointer(&path);
goto cleanup;
}
}
PROBE(QEMU_MONITOR_RECV_REPLY,
"mon=%p reply=%s", mon, line);
if (msg) {
- msg->rxObject = obj;
+ msg->rxObject = g_steal_pointer(&obj);
msg->finished = 1;
- obj = NULL;
ret = 0;
} else {
virReportError(VIR_ERR_INTERNAL_ERROR,
alias = *aliases;
for (i = 0; i < n; i++) {
if (STRPREFIX(paths[i]->type, "child<")) {
- *alias = paths[i]->name;
- paths[i]->name = NULL;
+ *alias = g_steal_pointer(&paths[i]->name);
alias++;
}
}
if (*uri_out == NULL) {
ret->uri_out = NULL;
} else {
- ret->uri_out = uri_out;
- uri_out = NULL;
+ ret->uri_out = g_steal_pointer(&uri_out);
}
rv = 0;
}
if (len && models) {
- ret->models.models_val = models;
+ ret->models.models_val = g_steal_pointer(&models);
ret->models.models_len = len;
- models = NULL;
} else {
ret->models.models_val = NULL;
ret->models.models_len = 0;
(xdrproc_t) xdr_remote_connect_find_storage_pool_sources_ret, (char *) &ret) == -1)
goto done;
- rv = ret.xml;
- ret.xml = NULL; /* To stop xdr_free free'ing it */
+ rv = g_steal_pointer(&ret.xml); /* To stop xdr_free free'ing it */
xdr_free((xdrproc_t) xdr_remote_connect_find_storage_pool_sources_ret, (char *) &ret);
_("caller ignores cookieout or cookieoutlen"));
goto error;
}
- *cookieout = ret.cookie_out.cookie_out_val; /* Caller frees. */
+ *cookieout = g_steal_pointer(&ret.cookie_out.cookie_out_val); /* Caller frees. */
*cookieoutlen = ret.cookie_out.cookie_out_len;
- ret.cookie_out.cookie_out_val = NULL;
ret.cookie_out.cookie_out_len = 0;
}
retmodels = g_new0(char *, ret.models.models_len + 1);
for (i = 0; i < ret.models.models_len; i++) {
- retmodels[i] = ret.models.models_val[i];
- ret.models.models_val[i] = NULL;
+ retmodels[i] = g_steal_pointer(&ret.models.models_val[i]);
}
*models = g_steal_pointer(&retmodels);
}
_("caller ignores cookieout or cookieoutlen"));
goto error;
}
- *cookieout = ret.cookie_out.cookie_out_val; /* Caller frees. */
+ *cookieout = g_steal_pointer(&ret.cookie_out.cookie_out_val); /* Caller frees. */
*cookieoutlen = ret.cookie_out.cookie_out_len;
- ret.cookie_out.cookie_out_val = NULL;
ret.cookie_out.cookie_out_len = 0;
}
&elem->nparams))
goto cleanup;
- tmpret[i] = elem;
- elem = NULL;
+ tmpret[i] = g_steal_pointer(&elem);
}
*retStats = g_steal_pointer(&tmpret);
if (rv == 0) {
VIR_FREE(dom->name);
- dom->name = tmp;
- tmp = NULL;
+ dom->name = g_steal_pointer(&tmp);
}
done:
while (tmp) {
if (tmp == call) {
if (prev)
- prev->next = tmp->next;
+ prev->next = g_steal_pointer(&tmp->next);
else
- *head = tmp->next;
- tmp->next = NULL;
+ *head = g_steal_pointer(&tmp->next);
return;
}
prev = tmp;
if (!(client = virObjectLockableNew(virNetClientClass)))
goto error;
- client->sock = sock;
- sock = NULL;
+ client->sock = g_steal_pointer(&sock);
client->eventCtx = g_main_context_new();
client->eventLoop = g_main_loop_new(client->eventCtx, FALSE);
virObjectUnref(client->sasl);
client->sasl = NULL;
#endif
- ka = client->keepalive;
- client->keepalive = NULL;
+ ka = g_steal_pointer(&client->keepalive);
client->wantClose = false;
virFreeError(client->error);
thecall->msg->bufferOffset = client->msg.bufferOffset;
thecall->msg->nfds = client->msg.nfds;
- thecall->msg->fds = client->msg.fds;
+ thecall->msg->fds = g_steal_pointer(&client->msg.fds);
client->msg.nfds = 0;
- client->msg.fds = NULL;
thecall->mode = VIR_NET_CLIENT_MODE_COMPLETE;
st->err.code = err.code;
}
if (err.message) {
- st->err.message = *err.message;
- *err.message = NULL;
+ st->err.message = g_steal_pointer(&*err.message);
}
st->err.domain = err.domain;
st->err.level = err.level;
if (err.str1) {
- st->err.str1 = *err.str1;
- *err.str1 = NULL;
+ st->err.str1 = g_steal_pointer(&*err.str1);
}
if (err.str2) {
- st->err.str2 = *err.str2;
- *err.str2 = NULL;
+ st->err.str2 = g_steal_pointer(&*err.str2);
}
if (err.str3) {
- st->err.str3 = *err.str3;
- *err.str3 = NULL;
+ st->err.str3 = g_steal_pointer(&*err.str3);
}
st->err.int1 = err.int1;
st->err.int2 = err.int2;
memcpy(&tmp_msg->header, &msg->header, sizeof(msg->header));
/* Steal message buffer */
- tmp_msg->buffer = msg->buffer;
+ tmp_msg->buffer = g_steal_pointer(&msg->buffer);
tmp_msg->bufferLength = msg->bufferLength;
tmp_msg->bufferOffset = msg->bufferOffset;
- msg->buffer = NULL;
msg->bufferLength = msg->bufferOffset = 0;
virObjectLock(st);
virNetMessagePtr tmp = *queue;
if (tmp) {
- *queue = tmp->next;
- tmp->next = NULL;
+ *queue = g_steal_pointer(&tmp->next);
}
return tmp;
if (client->keepalive) {
virKeepAliveStop(client->keepalive);
- ka = client->keepalive;
- client->keepalive = NULL;
+ ka = g_steal_pointer(&client->keepalive);
virObjectRef(client);
virObjectUnlock(client);
virObjectUnref(ka);
virNetMessageClear(msg);
msg->bufferLength = VIR_NET_MESSAGE_LEN_MAX;
msg->buffer = g_new0(char, msg->bufferLength);
- client->rx = msg;
- msg = NULL;
+ client->rx = g_steal_pointer(&msg);
client->nrequests++;
}
}
void *eopaque;
virObjectLock(sock);
- ff = sock->ff;
- eopaque = sock->opaque;
+ ff = g_steal_pointer(&sock->ff);
+ eopaque = g_steal_pointer(&sock->opaque);
sock->func = NULL;
- sock->ff = NULL;
- sock->opaque = NULL;
virObjectUnlock(sock);
if (ff)
/* copy retrieved data back */
for (i = 0; i < num_prompts; i++) {
- responses[i].text = askcred[i].result;
- askcred[i].result = NULL; /* steal the pointer */
+ responses[i].text = g_steal_pointer(&askcred[i].result); /* steal the pointer */
responses[i].length = askcred[i].resultlen;
}
g_autofree char *cert = NULL;
g_autofree char *key = NULL;
- x509credBak = ctxt->x509cred;
- ctxt->x509cred = NULL;
+ x509credBak = g_steal_pointer(&ctxt->x509cred);
if (virNetTLSContextLocateCredentials(NULL, tryUserPkiPath, true,
&cacert, &cacrl, &cert, &key))
tmp = g_strdup(path);
- item->path = tmp;
+ item->path = g_steal_pointer(&tmp);
item->src = src;
item->uid = uid;
item->gid = gid;
if (VIR_APPEND_ELEMENT(list->items, list->nItems, item) < 0)
goto cleanup;
- tmp = NULL;
-
ret = 0;
cleanup:
VIR_FREE(tmp);
}
virObjectUnref(privconn->ifaces);
- privconn->ifaces = privconn->backupIfaces;
- privconn->backupIfaces = NULL;
+ privconn->ifaces = g_steal_pointer(&privconn->backupIfaces);
privconn->transaction_running = false;
virConfValuePtr next;
while (list != NULL) {
- next = list->next;
- list->next = NULL;
+ next = g_steal_pointer(&list->next);
virConfFreeValue(list);
list = next;
}
char c;
if (tmp) {
- fdst->msg = tmp->next;
- tmp->next = NULL;
+ fdst->msg = g_steal_pointer(&tmp->next);
}
virCondSignal(&fdst->threadCond);
for (i = 0; i < object->data.object.npairs; i++) {
if (STREQ(object->data.object.pairs[i].key, key)) {
if (value) {
- *value = object->data.object.pairs[i].value;
- object->data.object.pairs[i].value = NULL;
+ *value = g_steal_pointer(&object->data.object.pairs[i].value);
}
VIR_FREE(object->data.object.pairs[i].key);
virJSONValueFree(object->data.object.pairs[i].value);
if (STREQ_NULLABLE(valueTypeUtf8, "sdl")) {
graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_SDL;
- graphics->data.sdl.display = valueDisplayUtf8;
- valueDisplayUtf8 = NULL;
+ graphics->data.sdl.display = g_steal_pointer(&valueDisplayUtf8);
}
if (STREQ_NULLABLE(valueTypeUtf8, "gui")) {
graphics->type = VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP;
- graphics->data.desktop.display = valueDisplayUtf8;
- valueDisplayUtf8 = NULL;
+ graphics->data.desktop.display = g_steal_pointer(&valueDisplayUtf8);
}
VBOX_UTF8_FREE(valueDisplayUtf8);
} else if (STRNEQ_NULLABLE(valueTypeUtf8, "vrdp")) {
return 0;
}
- parentSnapshot = snapshot->parent;
-
- snapshot->parent = NULL;
+ parentSnapshot = g_steal_pointer(&snapshot->parent);
while (i < parentSnapshot->nchildren && parentSnapshot->children[i] != snapshot)
++i;
if (VIR_DELETE_ELEMENT(parentSnapshot->children, i, parentSnapshot->nchildren) < 0)
return 0;
}
- parentHardDisk = hardDisk->parent;
+ parentHardDisk = g_steal_pointer(&hardDisk->parent);
i = 0;
while (i < parentHardDisk->nchildren && parentHardDisk->children[i] != hardDisk)
++i;
- hardDisk->parent = NULL;
if (VIR_DELETE_ELEMENT(parentHardDisk->children, i, parentHardDisk->nchildren) < 0)
return -1;
if (virVMXGetConfigString(conf, hostPath_name, &hostPath, false) < 0)
goto cleanup;
- (*def)->src->path = hostPath;
- hostPath = NULL;
+ (*def)->src->path = g_steal_pointer(&hostPath);
/* vmx:guestName */
if (virVMXGetConfigString(conf, guestName_name, &guestName, false) < 0)
goto cleanup;
- (*def)->dst = guestName;
- guestName = NULL;
+ (*def)->dst = g_steal_pointer(&guestName);
/* vmx:writeAccess */
if (virVMXGetConfigBoolean(conf, writeAccess_name, &writeAccess, false,
/* Setup virDomainNetDef */
if (connectionType == NULL || STRCASEEQ(connectionType, "bridged")) {
(*def)->type = VIR_DOMAIN_NET_TYPE_BRIDGE;
- (*def)->data.bridge.brname = networkName;
-
- networkName = NULL;
+ (*def)->data.bridge.brname = g_steal_pointer(&networkName);
} else if (STRCASEEQ(connectionType, "hostonly")) {
/* FIXME */
virReportError(VIR_ERR_INTERNAL_ERROR,
} else if (STRCASEEQ(connectionType, "custom")) {
(*def)->type = VIR_DOMAIN_NET_TYPE_BRIDGE;
- (*def)->data.bridge.brname = networkName;
- (*def)->ifname = vnet;
-
- networkName = NULL;
- vnet = NULL;
+ (*def)->data.bridge.brname = g_steal_pointer(&networkName);
+ (*def)->ifname = g_steal_pointer(&vnet);
} else {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Invalid value '%s' for VMX entry '%s'"), connectionType,
if (!fileType || STRCASEEQ(fileType, "device")) {
(*def)->target.port = port;
(*def)->source->type = VIR_DOMAIN_CHR_TYPE_DEV;
- (*def)->source->data.file.path = fileName;
-
- fileName = NULL;
+ (*def)->source->data.file.path = g_steal_pointer(&fileName);
} else if (STRCASEEQ(fileType, "file")) {
(*def)->target.port = port;
(*def)->source->type = VIR_DOMAIN_CHR_TYPE_FILE;
*/
(*def)->target.port = port;
(*def)->source->type = VIR_DOMAIN_CHR_TYPE_PIPE;
- (*def)->source->data.file.path = fileName;
-
- fileName = NULL;
+ (*def)->source->data.file.path = g_steal_pointer(&fileName);
} else if (STRCASEEQ(fileType, "network")) {
(*def)->target.port = port;
(*def)->source->type = VIR_DOMAIN_CHR_TYPE_TCP;
if (STRCASEEQ(fileType, "device")) {
(*def)->target.port = port;
(*def)->source->type = VIR_DOMAIN_CHR_TYPE_DEV;
- (*def)->source->data.file.path = fileName;
-
- fileName = NULL;
+ (*def)->source->data.file.path = g_steal_pointer(&fileName);
} else if (STRCASEEQ(fileType, "file")) {
(*def)->target.port = port;
(*def)->source->type = VIR_DOMAIN_CHR_TYPE_FILE;
if (!(buf = prlsdkGetStringParamVar(PrlVmDev_GetImagePath, prldisk)))
goto cleanup;
- fs->src->path = buf;
- buf = NULL;
+ fs->src->path = g_steal_pointer(&buf);
}
if (!(buf = prlsdkGetStringParamVar(PrlVmDevHd_GetMountPoint, prldisk)))
goto cleanup;
- fs->dst = buf;
- buf = NULL;
+ fs->dst = g_steal_pointer(&buf);
ret = 0;
switch (emulatedType) {
case PDT_USE_OUTPUT_FILE:
chr->source->type = VIR_DOMAIN_CHR_TYPE_FILE;
- chr->source->data.file.path = friendlyName;
- friendlyName = NULL;
+ chr->source->data.file.path = g_steal_pointer(&friendlyName);
break;
case PDT_USE_SERIAL_PORT_SOCKET_MODE:
chr->source->type = VIR_DOMAIN_CHR_TYPE_UNIX;
- chr->source->data.nix.path = friendlyName;
+ chr->source->data.nix.path = g_steal_pointer(&friendlyName);
chr->source->data.nix.listen = socket_mode == PSP_SERIAL_SOCKET_SERVER;
- friendlyName = NULL;
break;
case PDT_USE_REAL_DEVICE:
chr->source->type = VIR_DOMAIN_CHR_TYPE_DEV;
- chr->source->data.file.path = friendlyName;
- friendlyName = NULL;
+ chr->source->data.file.path = g_steal_pointer(&friendlyName);
break;
case PDT_USE_TCP:
chr->source->type = VIR_DOMAIN_CHR_TYPE_TCP;
goto error;
if (*passwd != '\0') {
- gr->data.vnc.auth.passwd = passwd;
- passwd = NULL;
+ gr->data.vnc.auth.passwd = g_steal_pointer(&passwd);
}
pret = PrlVmCfg_GetVNCPort(sdkdom, &port);
continue;
}
- vol.source = source;
- vol.target = target;
- source = NULL;
- target = NULL;
+ vol.source = g_steal_pointer(&source);
+ vol.target = g_steal_pointer(&target);
if (VIR_APPEND_ELEMENT(vols, nvols, vol) < 0)
goto cleanup;
}
if (partial) {
vshCmdOpt *arg = g_new0(vshCmdOpt, 1);
arg->def = opt;
- arg->data = tkdata;
- tkdata = NULL;
+ arg->data = g_steal_pointer(&tkdata);
arg->next = NULL;
if (parser->pos - parser->originalLine == parser->point - 1)
vshCmdOpt *arg = g_new0(vshCmdOpt, 1);
arg->def = opt;
- arg->data = tkdata;
+ arg->data = g_steal_pointer(&tkdata);
arg->next = NULL;
- tkdata = NULL;
if (parser->pos - parser->originalLine == parser->point)
arg->completeThis = true;
break;
}
- c->opts = first;
+ c->opts = g_steal_pointer(&first);
c->def = cmd;
c->next = NULL;
- first = NULL;
if (!partial &&
vshCommandCheckOpts(ctl, c, opts_required, opts_seen) < 0) {