[libvirt] [PATCH 1/5] virDomainNumaGetNodeDistance: Fix input arguments validation

Michal Privoznik mprivozn at redhat.com
Wed Nov 22 09:45:17 UTC 2017


On 11/22/2017 12:22 AM, John Ferlan wrote:
> 
> 
> On 11/14/2017 09:47 AM, Michal Privoznik wrote:
>> 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 caller passed falls
>> within boundaries.
>>
>> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>> ---
>>  src/conf/numa_conf.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/conf/numa_conf.c b/src/conf/numa_conf.c
>> index 7bba4120b..5f0b3f9ed 100644
>> --- a/src/conf/numa_conf.c
>> +++ b/src/conf/numa_conf.c
>> @@ -1154,7 +1154,7 @@ virDomainNumaGetNodeDistance(virDomainNumaPtr numa,
>>       */
>>      if (!distances ||
>>          !distances[cellid].value ||
>> -        !numa->mem_nodes[node].ndistances)
>> +        node >= numa->nmem_nodes)
> 
> If @distances can only be set if "node < numa->nmem_nodes", then how
> could "node >= numa->nmem_nodes" ever be true and @distances be non
> NULL?  IOW: I see no need for the check... This former condition also
> trips across my "favorite" condition check of "if !intValue"
> substituting for "if intValue == 0" <sigh>.

Ah right. This patch makes no sense. I don't even know what was I
thinking :-)

But now as I'm looking at the code, it might be worth to check if
@cellid < numa->nmem_nodes; We check @node but not @cellid.

Michal




More information about the libvir-list mailing list