Re: [PATCH] Improve invalid argument checks for the public API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/17/2011 07:14 AM, Daniel Veillard wrote:
> On Tue, May 17, 2011 at 02:45:44PM +0200, Matthias Bolte wrote:
>> ---
>>  src/libvirt.c |  100 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
>>  1 files changed, 94 insertions(+), 6 deletions(-)
> 
>> @@ -5040,6 +5045,12 @@ virDomainGetSchedulerParameters(virDomainPtr domain,
>>          virDispatchError(NULL);
>>          return -1;
>>      }
>> +
>> +    if (params == NULL || nparams == NULL) {
>> +        virLibDomainError(VIR_ERR_INVALID_ARG, __FUNCTION__);
>> +        goto error;
>> +    }
> 
>   I was just wondering here if params being NULL couldn't be used to
>   find out the correct value for nparams, but looking at least at the
>   qemu driver code we really expect the array there.

Let's fix that as a separate patch.

> 
>>      conn = domain->conn;
>>  
>>      if (conn->driver->domainGetSchedulerParameters) {
>> @@ -5084,6 +5095,12 @@ virDomainSetSchedulerParameters(virDomainPtr domain,
>>          virDispatchError(NULL);
>>          return -1;
>>      }
>> +
>> +    if (params == NULL) {
>> +        virLibDomainError(VIR_ERR_INVALID_ARG, __FUNCTION__);
>> +        goto error;
>> +    }

Hmm, here we document that nparams can be <= the value returned by
virDomainGetSchedulerType; which means it can be 0, which means that
params can be NULL.  I think we should change this to allow NULL,0 in
input as a way of querying the proper nparams size on output.

This affects Hu's patch series, where we are adding
virDomainSetSchedulerParametersFlags, which should have the same semantics.

-- 
Eric Blake   eblake@xxxxxxxxxx    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]