On 07/01/20 15:46, Peter Maydell wrote:
> On Wed, 18 Dec 2019 at 12:26, Paolo Bonzini <[email protected]> wrote:
>>
>> Signed-off-by: Paolo Bonzini <[email protected]>
> 
>> +static void kvm_set_kernel_irqchip(Object *obj, Visitor *v,
>> +                                   const char *name, void *opaque,
>> +                                   Error **errp)
>> +{
>> +    Error *err = NULL;
>> +    KVMState *s = KVM_STATE(obj);
>> +    OnOffSplit mode;
>> +
>> +    visit_type_OnOffSplit(v, name, &mode, &err);
> 
> Coverity complains that this call uses 'mode' uninitialized,
> which seems correct since it starts off with 'value = *obj'.
> (CID 1412230)

The visitor here is not supposed to look at value (rather it should fill
it in)---but yeah this is an ugly part of the visitor API that we can
work around most simply by initializing mode.

Paolo

> 
>> +    if (err) {
>> +        error_propagate(errp, err);
>> +        return;
>> +    } else {
>> +        switch (mode) {
>> +        case ON_OFF_SPLIT_ON:
>> +            s->kernel_irqchip_allowed = true;
>> +            s->kernel_irqchip_required = true;
>> +            s->kernel_irqchip_split = false;
>> +            break;
>> +        case ON_OFF_SPLIT_OFF:
>> +            s->kernel_irqchip_allowed = false;
>> +            s->kernel_irqchip_required = false;
>> +            s->kernel_irqchip_split = false;
>> +            break;
>> +        case ON_OFF_SPLIT_SPLIT:
>> +            s->kernel_irqchip_allowed = true;
>> +            s->kernel_irqchip_required = true;
>> +            s->kernel_irqchip_split = true;
>> +            break;
>> +        default:
>> +            /* The value was checked in visit_type_OnOffSplit() above. If
>> +             * we get here, then something is wrong in QEMU.
>> +             */
>> +            abort();
>> +        }
>> +    }
>> +}
> 
> 
> thanks
> -- PMM
> 


Reply via email to