From f2729283107dc749037453e30b6e21ef3af8d468 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Thu, 25 Sep 2014 11:18:50 +0200 Subject: [PATCH] remoteNodeGetFreePages: Don't alloc args.pages.pages_val There's no one to free() it anyway. Instead, we can just pass the provided array pointer directly. ==20039== 48 bytes in 4 blocks are definitely lost in loss record 658 of 787 ==20039== at 0x4C2A700: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==20039== by 0x4EA661F: virAllocN (viralloc.c:191) ==20039== by 0x50386EF: remoteNodeGetFreePages (remote_driver.c:7625) ==20039== by 0x5003504: virNodeGetFreePages (libvirt.c:21379) ==20039== by 0x154625: cmdFreepages (virsh-host.c:374) ==20039== by 0x12F718: vshCommandRun (virsh.c:1935) ==20039== by 0x1339FB: main (virsh.c:3747) Signed-off-by: Michal Privoznik --- src/remote/remote_driver.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index dc2d2fb64c..6c49e49c17 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -7622,9 +7622,7 @@ remoteNodeGetFreePages(virConnectPtr conn, goto done; } - if (VIR_ALLOC_N(args.pages.pages_val, npages) < 0) - goto done; - memcpy(args.pages.pages_val, pages, npages * sizeof(*pages)); + args.pages.pages_val = (u_int *) pages; args.pages.pages_len = npages; args.startCell = startCell; args.cellCount = cellCount; -- GitLab