From 9a2e523eba4ce1394cac653b3bd179eb7f0cb164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Mon, 23 Jun 2014 11:49:02 +0200 Subject: [PATCH] Fix invalid write in virNumaGetDistances ==== Invalid write of size 4 ==== at 0x52E678C: virNumaGetDistances (virnuma.c:479) ==== by 0x5396890: nodeCapsInitNUMA (nodeinfo.c:1796) ==== by 0x203C2B: virQEMUCapsInit (qemu_capabilities.c:960) ==== Address 0xe10a1e0 is 0 bytes after a block of size 0 alloc'd ==== at 0x4C2A6D0: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==== by 0x52A10D6: virAllocN (viralloc.c:191) ==== by 0x52E674D: virNumaGetDistances (virnuma.c:470) ==== by 0x5396890: nodeCapsInitNUMA (nodeinfo.c:1796) ==== by 0x203C2B: virQEMUCapsInit (qemu_capabilities.c:960) --- src/util/virnuma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/virnuma.c b/src/util/virnuma.c index 90752635cf..1745649f93 100644 --- a/src/util/virnuma.c +++ b/src/util/virnuma.c @@ -467,7 +467,7 @@ virNumaGetDistances(int node, if ((max_node = virNumaGetMaxNode()) < 0) goto cleanup; - if (VIR_ALLOC_N(*distances, max_node) < 0) + if (VIR_ALLOC_N(*distances, max_node + 1) < 0) goto cleanup; *ndistances = max_node + 1; -- GitLab