On Mon, Jul 05, 2021 at 05:36:42PM +0200, Tim Wiederhake wrote:
`virHashNew` cannot return NULL, the check is not needed.
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/qemu/qemu_monitor.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index 19fcc5658b..86aabc98c3 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -2155,23 +2155,23 @@ qemuMonitorGetAllBlockStatsInfo(qemuMonitor *mon,
bool backingChain)
{
int ret;
+ GHashTable *stats = virHashNew(g_free);
+
VIR_DEBUG("ret_stats=%p, backing=%d", ret_stats, backingChain);
QEMU_CHECK_MONITOR(mon);
This macro expands with 'return -1', so this change causes a memory
leak of 'stats'. This obscurity is why i don't like macros containing
hidden control flow.
- if (!(*ret_stats = virHashNew(g_free)))
- goto error;
-
- ret = qemuMonitorJSONGetAllBlockStatsInfo(mon, *ret_stats, backingChain);
+ *ret_stats = NULL;
+ ret = qemuMonitorJSONGetAllBlockStatsInfo(mon, stats, backingChain);
if (ret < 0)
goto error;
+ *ret_stats = stats;
return ret;
error:
- virHashFree(*ret_stats);
- *ret_stats = NULL;
+ virHashFree(stats);
return -1;
}
--
2.31.1
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|