Re: [PATCH] qemu: Resolve Coverity UNINIT

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

 



On 11/15/14 14:20, John Ferlan wrote:
> For some reason, commit id '72b4151f' triggered a Coverity uninitialized
> 'reply' variable check when referenced within the for loop.
> 
> It seems Coverity doesn't know that flags will have to be either AFFECT_LIVE
> or AFFECT_CONFIG after the virDomainLiveConfigHelperMethod call.
> 
> By adding a "sa_assert()" to confirm that fact, Coverity is happy again.

Hmm, I remember few of those in the last time.


> 
> Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx>
> ---
> 
>  NOTE: 
>  Using "sa_assert(flags & (VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG));
>  did not clear the error - only the two separate checks using the ||.
> 
>  Yes, the parentheses are overkill...
> 
>  src/qemu/qemu_driver.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 9b19629..a84fd47 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -17000,6 +17000,8 @@ qemuDomainGetBlockIoTune(virDomainPtr dom,
>      if (virDomainLiveConfigHelperMethod(caps, driver->xmlopt, vm, &flags,
>                                          &persistentDef) < 0)

Did you try to put the sa_assert() test inside the
'virDomainLiveConfigHelperMethod' so that we wouldn't need to put it in
all the places that call the function? Would coverity be able to pass
the result in such case?

>          goto endjob;
> +    sa_assert((flags & VIR_DOMAIN_AFFECT_LIVE) ||
> +              (flags & VIR_DOMAIN_AFFECT_CONFIG));
>  
>      if (flags & VIR_DOMAIN_AFFECT_LIVE) {
>          /* If the VM is running, we can check if the current VM can use
> 

ACK if coverity won't be able to process this in case the assertion is
verified inside the function that manipulates flags.

Peter

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]