Switch the allocation in virshSnapshotListCollect and
its cargo-culted Checkpoint counterpart to two separate
g_new0 calls and move the boolean expression to
the if condition that chooses between them.
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
---
tools/virsh-checkpoint.c | 6 ++++--
tools/virsh-snapshot.c | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/tools/virsh-checkpoint.c b/tools/virsh-checkpoint.c
index f3c4fe90ba..cefdfd7800 100644
--- a/tools/virsh-checkpoint.c
+++ b/tools/virsh-checkpoint.c
@@ -600,8 +600,10 @@ virshCheckpointListCollect(vshControl *ctl,
/* When mixing --from and --tree, we also want a copy of from
* in the list, but with no parent for that one entry. */
- checkpointlist->chks = vshCalloc(ctl, count + (tree && from),
- sizeof(*checkpointlist->chks));
+ if (from && tree)
+ checkpointlist->chks = g_new0(struct virshChk, count + 1);
+ else
+ checkpointlist->chks = g_new0(struct virshChk, count);
checkpointlist->nchks = count;
for (i = 0; i < count; i++)
checkpointlist->chks[i].chk = chks[i];
diff --git a/tools/virsh-snapshot.c b/tools/virsh-snapshot.c
index 99e3d98c6f..b4498df298 100644
--- a/tools/virsh-snapshot.c
+++ b/tools/virsh-snapshot.c
@@ -1102,8 +1102,10 @@ virshSnapshotListCollect(vshControl *ctl, virDomainPtr dom,
if (count >= 0) {
/* When mixing --from and --tree, we also want a copy of from
* in the list, but with no parent for that one entry. */
- snaplist->snaps = vshCalloc(ctl, count + (tree && from),
- sizeof(*snaplist->snaps));
+ if (tree && from)
+ snaplist->snaps = g_new0(struct virshSnap, count + 1);
+ else
+ snaplist->snaps = g_new0(struct virshSnap, count);
snaplist->nsnaps = count;
for (i = 0; i < count; i++)
snaplist->snaps[i].snap = snaps[i];
--
2.26.2