On 23.06.2014 11:53, Ján Tomko wrote:
==== 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 c8e7f40..c494e17 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;
Oops.
ACK
Michal