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

Re: [libvirt] [PATCH] vbox: Fix passing an empty IMedium* array to IMachine::Delete



On 04/23/2012 02:29 AM, Jean-Baptiste Rouault wrote:
> On Sunday 22 April 2012 10:35:59 Matthias Bolte wrote:
>> vboxArray is not castable to a COM item type. vboxArray is a
>> wrapper around the XPCOM and MSCOM specific array handling.
>>
>> In this case we can avoid passing NULL as an empty array to
>> IMachine::Delete by passing a dummy IMedium* array with a single
>> NULL item.
>> ---
>>
>> Jean-Baptiste, I can not reproduce the assertion you mentioned, or
>> I don't know where to look for it. So could you verify that is patch
>> avoids this assertion?
>>

>> +        /* XPCOM doesn't like NULL as an array, even when the array size
>> is 0. +         * Instead pass it a dummy array to avoid passing NULL. */
>> +        IMedium *array[] = { NULL };
>> +        machine->vtbl->Delete(machine, 0, array, &progress);
>>  # endif
>>          if (progress != NULL) {
>>              progress->vtbl->WaitForCompletion(progress, -1);
> 
> The patch is good, I don't get the assertion anymore.

Coupled with that functional test, I give my ACK to the code, as a much
nicer solution than my temporary build-breaker "fix" via a union hack.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


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