From: Michal Privoznik Date: Tue, 14 Nov 2017 13:24:20 +0000 (+0100) Subject: virDomainNumaGetNodeDistance: Fix input arguments validation X-Git-Tag: v3.10.0-rc1~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ededbb84eb34539e326b4d4791772b699352302;p=thirdparty%2Flibvirt.git virDomainNumaGetNodeDistance: Fix input arguments validation There's no point in checking if numa->mem_nodes[node].ndistances is set if we check for numa->mem_nodes[node].distances. However, it makes sense to check if the sibling node (@cellid) caller passed falls within boundaries. Signed-off-by: Michal Privoznik Reviewed-by: John Ferlan --- diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c index 7bba4120bd..c2f0d1ca8c 100644 --- a/src/conf/numa_conf.c +++ b/src/conf/numa_conf.c @@ -1153,8 +1153,8 @@ virDomainNumaGetNodeDistance(virDomainNumaPtr numa, * defined default for local and remote nodes. */ if (!distances || - !distances[cellid].value || - !numa->mem_nodes[node].ndistances) + cellid >= numa->nmem_nodes || + !distances[cellid].value) return (node == cellid) ? LOCAL_DISTANCE : REMOTE_DISTANCE; return distances[cellid].value;