From 500025205783acaa29d3c0e020ef8c6ce9579784 Mon Sep 17 00:00:00 2001 Message-Id: <500025205783acaa29d3c0e020ef8c6ce9579784@dist-git> From: Peter Krempa Date: Tue, 4 Feb 2020 15:08:18 +0100 Subject: [PATCH] virJSONValueNewArray: Use g_new0 to allocate and remove NULL checks from callers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the glib allocation function that never returns NULL and remove the now dead-code checks from all callers. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko (cherry picked from commit d69470a18afa909a18f336e46a1817657b91635e) https://bugzilla.redhat.com/show_bug.cgi?id=1207659 Message-Id: <1c666c563fe614b2c61bb47abb6d33dbcab91316.1580824112.git.pkrempa@redhat.com> Reviewed-by: Ján Tomko --- src/locking/lock_daemon.c | 4 ++-- src/logging/log_handler.c | 3 +-- src/network/leaseshelper.c | 6 +----- src/qemu/qemu_agent.c | 6 +----- src/qemu/qemu_backup.c | 6 ++---- src/qemu/qemu_block.c | 9 +++------ src/qemu/qemu_blockjob.c | 3 +-- src/qemu/qemu_checkpoint.c | 9 +++------ src/qemu/qemu_driver.c | 3 +-- src/qemu/qemu_firmware.c | 12 ++++-------- src/qemu/qemu_migration_params.c | 3 +-- src/qemu/qemu_monitor_json.c | 3 +-- src/rpc/virnetserver.c | 6 ++---- src/rpc/virnetserverservice.c | 3 +-- src/util/virjson.c | 13 ++----------- src/util/virlockspace.c | 6 ++---- src/util/virmacmap.c | 8 ++++---- tests/qemublocktest.c | 3 +-- tests/qemumonitorjsontest.c | 5 ++--- 19 files changed, 35 insertions(+), 76 deletions(-) diff --git a/src/locking/lock_daemon.c b/src/locking/lock_daemon.c index 65c38139c4..75e24eb2f6 100644 --- a/src/locking/lock_daemon.c +++ b/src/locking/lock_daemon.c @@ -949,8 +949,8 @@ virLockDaemonPreExecRestart(const char *state_file, goto cleanup; } - if (!(lockspaces = virJSONValueNewArray())) - goto cleanup; + lockspaces = virJSONValueNewArray(); + if (virJSONValueObjectAppend(object, "lockspaces", lockspaces) < 0) { virJSONValueFree(lockspaces); goto cleanup; diff --git a/src/logging/log_handler.c b/src/logging/log_handler.c index 030c9d66e3..973c52c7cd 100644 --- a/src/logging/log_handler.c +++ b/src/logging/log_handler.c @@ -619,8 +619,7 @@ virLogHandlerPreExecRestart(virLogHandlerPtr handler) if (!ret) return NULL; - if (!(files = virJSONValueNewArray())) - goto error; + files = virJSONValueNewArray(); if (virJSONValueObjectAppend(ret, "files", files) < 0) { virJSONValueFree(files); diff --git a/src/network/leaseshelper.c b/src/network/leaseshelper.c index f1a061066e..dd1d5f70ee 100644 --- a/src/network/leaseshelper.c +++ b/src/network/leaseshelper.c @@ -200,11 +200,7 @@ main(int argc, char **argv) break; } - if (!(leases_array_new = virJSONValueNewArray())) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("failed to create json")); - goto cleanup; - } + leases_array_new = virJSONValueNewArray(); if (virLeaseReadCustomLeaseFile(leases_array_new, custom_lease_file, delete ? ip : NULL, &server_duid) < 0) diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index 5fa8d24a91..f759785050 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -1203,9 +1203,6 @@ qemuAgentMakeStringsArray(const char **strings, unsigned int len) size_t i; virJSONValuePtr ret = virJSONValueNewArray(), str; - if (!ret) - return NULL; - for (i = 0; i < len; i++) { str = virJSONValueNewString(strings[i]); if (!str) @@ -1536,8 +1533,7 @@ qemuAgentSetVCPUsCommand(qemuAgentPtr mon, *nmodified = 0; /* create the key data array */ - if (!(cpus = virJSONValueNewArray())) - goto cleanup; + cpus = virJSONValueNewArray(); for (i = 0; i < ninfo; i++) { qemuAgentCPUInfoPtr in = &info[i]; diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c index 8b1e9a7e19..2cc6ff7a42 100644 --- a/src/qemu/qemu_backup.c +++ b/src/qemu/qemu_backup.c @@ -180,8 +180,7 @@ qemuBackupDiskPrepareOneBitmapsChain(virDomainMomentDefPtr *incremental, g_autoptr(virJSONValue) ret = NULL; size_t incridx = 0; - if (!(ret = virJSONValueNewArray())) - return NULL; + ret = virJSONValueNewArray(); if (!(bitmap = qemuBlockNamedNodeDataGetBitmapByName(blockNamedNodeData, backingChain, @@ -819,8 +818,7 @@ qemuBackupBegin(virDomainObjPtr vm, !(incremental = qemuBackupBeginCollectIncrementalCheckpoints(vm, def->incremental))) goto endjob; - if (!(actions = virJSONValueNewArray())) - goto endjob; + actions = virJSONValueNewArray(); /* The 'chk' checkpoint must be rolled back if the transaction command * which creates it on disk is not executed or fails */ diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 13e240fdac..03f029368e 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -524,8 +524,7 @@ qemuBlockStorageSourceBuildHostsJSONSocketAddress(virStorageSourcePtr src, virStorageNetHostDefPtr host; size_t i; - if (!(servers = virJSONValueNewArray())) - return NULL; + servers = virJSONValueNewArray(); for (i = 0; i < src->nhosts; i++) { host = src->hosts + i; @@ -590,8 +589,7 @@ qemuBlockStorageSourceBuildHostsJSONInetSocketAddress(virStorageSourcePtr src) virStorageNetHostDefPtr host; size_t i; - if (!(servers = virJSONValueNewArray())) - return NULL; + servers = virJSONValueNewArray(); for (i = 0; i < src->nhosts; i++) { host = src->hosts + i; @@ -837,8 +835,7 @@ qemuBlockStorageSourceGetRBDProps(virStorageSourcePtr src, username = srcPriv->secinfo->s.aes.username; keysecret = srcPriv->secinfo->s.aes.alias; /* the auth modes are modelled after our old command line generator */ - if (!(authmodes = virJSONValueNewArray())) - return NULL; + authmodes = virJSONValueNewArray(); if (!(mode = virJSONValueNewString("cephx")) || virJSONValueArrayAppend(authmodes, mode) < 0) diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c index e04fcf69d1..3dc9222a6f 100644 --- a/src/qemu/qemu_blockjob.c +++ b/src/qemu/qemu_blockjob.c @@ -1344,8 +1344,7 @@ qemuBlockJobProcessEventConcludedBackup(virQEMUDriverPtr driver, return; if (job->data.backup.bitmap) { - if (!(actions = virJSONValueNewArray())) - return; + actions = virJSONValueNewArray(); if (qemuMonitorTransactionBitmapRemove(actions, job->disk->src->nodeformat, diff --git a/src/qemu/qemu_checkpoint.c b/src/qemu/qemu_checkpoint.c index 59b7f63fdc..c06bfe6a21 100644 --- a/src/qemu/qemu_checkpoint.c +++ b/src/qemu/qemu_checkpoint.c @@ -217,8 +217,7 @@ qemuCheckpointDiscardDiskBitmaps(virStorageSourcePtr src, return -1; } - if (!(arr = virJSONValueNewArray())) - return -1; + arr = virJSONValueNewArray(); if (qemuMonitorTransactionBitmapMergeSourceAddBitmap(arr, n->nodeformat, @@ -261,8 +260,7 @@ qemuCheckpointDiscardBitmaps(virDomainObjPtr vm, g_autoptr(GSList) relabelimages = NULL; GSList *next; - if (!(actions = virJSONValueNewArray())) - return -1; + actions = virJSONValueNewArray(); qemuDomainObjEnterMonitor(driver, vm); blockNamedNodeData = qemuMonitorBlockGetNamedNodeData(priv->mon); @@ -535,8 +533,7 @@ qemuCheckpointCreateCommon(virQEMUDriverPtr driver, if ((parent = virDomainCheckpointGetCurrent(vm->checkpoints))) (*def)->parent.parent_name = g_strdup(parent->def->name); - if (!(tmpactions = virJSONValueNewArray())) - return -1; + tmpactions = virJSONValueNewArray(); if (qemuCheckpointAddActions(vm, tmpactions, parent, *def) < 0) return -1; diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index f7ad2dca28..0667402ebb 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -15619,8 +15619,7 @@ qemuDomainSnapshotCreateDiskActive(virQEMUDriverPtr driver, if (virDomainObjCheckActive(vm) < 0) return -1; - if (!(actions = virJSONValueNewArray())) - return -1; + actions = virJSONValueNewArray(); if (blockdev && !(blockNamedNodeData = qemuBlockGetNamedNodeData(vm, asyncJob))) diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c index 7fb57913e8..68e2c6b40f 100644 --- a/src/qemu/qemu_firmware.c +++ b/src/qemu/qemu_firmware.c @@ -651,8 +651,7 @@ qemuFirmwareInterfaceFormat(virJSONValuePtr doc, g_autoptr(virJSONValue) interfacesJSON = NULL; size_t i; - if (!(interfacesJSON = virJSONValueNewArray())) - return -1; + interfacesJSON = virJSONValueNewArray(); for (i = 0; i < fw->ninterfaces; i++) { if (virJSONValueArrayAppendString(interfacesJSON, @@ -799,8 +798,7 @@ qemuFirmwareTargetFormat(virJSONValuePtr doc, g_autoptr(virJSONValue) targetsJSON = NULL; size_t i; - if (!(targetsJSON = virJSONValueNewArray())) - return -1; + targetsJSON = virJSONValueNewArray(); for (i = 0; i < fw->ntargets; i++) { qemuFirmwareTargetPtr t = fw->targets[i]; @@ -816,8 +814,7 @@ qemuFirmwareTargetFormat(virJSONValuePtr doc, virQEMUCapsArchToString(t->architecture)) < 0) return -1; - if (!(machines = virJSONValueNewArray())) - return -1; + machines = virJSONValueNewArray(); for (j = 0; j < t->nmachines; j++) { if (virJSONValueArrayAppendString(machines, @@ -851,8 +848,7 @@ qemuFirmwareFeatureFormat(virJSONValuePtr doc, g_autoptr(virJSONValue) featuresJSON = NULL; size_t i; - if (!(featuresJSON = virJSONValueNewArray())) - return -1; + featuresJSON = virJSONValueNewArray(); for (i = 0; i < fw->nfeatures; i++) { if (virJSONValueArrayAppendString(featuresJSON, diff --git a/src/qemu/qemu_migration_params.c b/src/qemu/qemu_migration_params.c index 9430ce1d00..45acf8cda2 100644 --- a/src/qemu/qemu_migration_params.c +++ b/src/qemu/qemu_migration_params.c @@ -785,8 +785,7 @@ qemuMigrationCapsToJSON(virBitmapPtr caps, qemuMigrationCapability bit; const char *name; - if (!(json = virJSONValueNewArray())) - return NULL; + json = virJSONValueNewArray(); for (bit = 0; bit < QEMU_MIGRATION_CAP_LAST; bit++) { bool supported = false; diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 3fc0bcb80c..8cd98dbf26 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4802,8 +4802,7 @@ int qemuMonitorJSONSendKey(qemuMonitorPtr mon, size_t i; /* create the key data array */ - if (!(keys = virJSONValueNewArray())) - goto cleanup; + keys = virJSONValueNewArray(); for (i = 0; i < nkeycodes; i++) { if (keycodes[i] > 0xffff) { diff --git a/src/rpc/virnetserver.c b/src/rpc/virnetserver.c index 4122636805..c87dade1a8 100644 --- a/src/rpc/virnetserver.c +++ b/src/rpc/virnetserver.c @@ -603,8 +603,7 @@ virJSONValuePtr virNetServerPreExecRestart(virNetServerPtr srv) goto error; } - if (!(services = virJSONValueNewArray())) - goto error; + services = virJSONValueNewArray(); if (virJSONValueObjectAppend(object, "services", services) < 0) { virJSONValueFree(services); @@ -622,8 +621,7 @@ virJSONValuePtr virNetServerPreExecRestart(virNetServerPtr srv) } } - if (!(clients = virJSONValueNewArray())) - goto error; + clients = virJSONValueNewArray(); if (virJSONValueObjectAppend(object, "clients", clients) < 0) { virJSONValueFree(clients); diff --git a/src/rpc/virnetserverservice.c b/src/rpc/virnetserverservice.c index 5d1178f899..0a003e5814 100644 --- a/src/rpc/virnetserverservice.c +++ b/src/rpc/virnetserverservice.c @@ -353,8 +353,7 @@ virJSONValuePtr virNetServerServicePreExecRestart(virNetServerServicePtr svc) if (virJSONValueObjectAppendNumberUint(object, "nrequests_client_max", svc->nrequests_client_max) < 0) goto error; - if (!(socks = virJSONValueNewArray())) - goto error; + socks = virJSONValueNewArray(); if (virJSONValueObjectAppend(object, "socks", socks) < 0) { virJSONValueFree(socks); diff --git a/src/util/virjson.c b/src/util/virjson.c index 50993648eb..ca57df816f 100644 --- a/src/util/virjson.c +++ b/src/util/virjson.c @@ -561,10 +561,7 @@ virJSONValueNewNull(void) virJSONValuePtr virJSONValueNewArray(void) { - virJSONValuePtr val; - - if (VIR_ALLOC(val) < 0) - return NULL; + virJSONValuePtr val = g_new0(virJSONValue, 1); val->type = VIR_JSON_TYPE_ARRAY; @@ -1265,8 +1262,7 @@ virJSONValueNewArrayFromBitmap(virBitmapPtr bitmap) virJSONValuePtr ret; ssize_t pos = -1; - if (!(ret = virJSONValueNewArray())) - return NULL; + ret = virJSONValueNewArray(); if (!bitmap) return ret; @@ -1522,8 +1518,6 @@ virJSONValueCopy(const virJSONValue *in) break; case VIR_JSON_TYPE_ARRAY: out = virJSONValueNewArray(); - if (!out) - return NULL; for (i = 0; i < in->data.array.nvalues; i++) { virJSONValuePtr val = NULL; if (!(val = virJSONValueCopy(in->data.array.values[i]))) @@ -1782,9 +1776,6 @@ virJSONParserHandleStartArray(void *ctx) VIR_DEBUG("parser=%p", parser); - if (!value) - return 0; - if (virJSONParserInsertValue(parser, value) < 0) { virJSONValueFree(value); return 0; diff --git a/src/util/virlockspace.c b/src/util/virlockspace.c index 59d47daae8..a44377f89e 100644 --- a/src/util/virlockspace.c +++ b/src/util/virlockspace.c @@ -443,8 +443,7 @@ virJSONValuePtr virLockSpacePreExecRestart(virLockSpacePtr lockspace) virJSONValueObjectAppendString(object, "directory", lockspace->dir) < 0) goto error; - if (!(resources = virJSONValueNewArray())) - goto error; + resources = virJSONValueNewArray(); if (virJSONValueObjectAppend(object, "resources", resources) < 0) { virJSONValueFree(resources); @@ -479,8 +478,7 @@ virJSONValuePtr virLockSpacePreExecRestart(virLockSpacePtr lockspace) goto error; } - if (!(owners = virJSONValueNewArray())) - goto error; + owners = virJSONValueNewArray(); if (virJSONValueObjectAppend(child, "owners", owners) < 0) { virJSONValueFree(owners); diff --git a/src/util/virmacmap.c b/src/util/virmacmap.c index cd74f67678..ec589334ea 100644 --- a/src/util/virmacmap.c +++ b/src/util/virmacmap.c @@ -206,10 +206,11 @@ virMACMapHashDumper(void *payload, size_t i; int ret = -1; - if (!(obj = virJSONValueNewObject()) || - !(arr = virJSONValueNewArray())) + if (!(obj = virJSONValueNewObject())) goto cleanup; + arr = virJSONValueNewArray(); + for (i = 0; macs[i]; i++) { virJSONValuePtr m = virJSONValueNewString(macs[i]); @@ -244,8 +245,7 @@ virMacMapDumpStrLocked(virMacMapPtr mgr, virJSONValuePtr arr; int ret = -1; - if (!(arr = virJSONValueNewArray())) - goto cleanup; + arr = virJSONValueNewArray(); if (virHashForEach(mgr->macs, virMACMapHashDumper, arr) < 0) goto cleanup; diff --git a/tests/qemublocktest.c b/tests/qemublocktest.c index ed8b061e2e..5946cd6c6b 100644 --- a/tests/qemublocktest.c +++ b/tests/qemublocktest.c @@ -733,8 +733,7 @@ testQemuCheckpointDeleteMerge(const void *opaque) return -1; } - if (!(actions = virJSONValueNewArray())) - return -1; + actions = virJSONValueNewArray(); if (qemuCheckpointDiscardDiskBitmaps(data->chain, nodedata, diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 0334f83628..2c696a2e8b 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -2948,9 +2948,8 @@ testQemuMonitorJSONTransaction(const void *opaque) if (!(test = qemuMonitorTestNewSchema(data->xmlopt, data->schema))) return -1; - if (!(actions = virJSONValueNewArray()) || - !(mergebitmaps = virJSONValueNewArray())) - return -1; + actions = virJSONValueNewArray(); + mergebitmaps = virJSONValueNewArray(); if (qemuMonitorTransactionBitmapMergeSourceAddBitmap(mergebitmaps, "node1", "bitmap1") < 0 || qemuMonitorTransactionBitmapMergeSourceAddBitmap(mergebitmaps, "node2", "bitmap2") < 0) -- 2.25.0