On 04/17/2012 10:50 AM, Eric Blake wrote:
On 04/13/2012 07:04 AM, Jean-Baptiste Rouault wrote:
> Passing a NULL pointer to IMachine::delete virtualbox API
> causes VBoxSVC to raise an assertion. This patch passes
> an empty array instead.
> ---
> src/vbox/vbox_tmpl.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c
> index 68e3b05..be25828 100644
> --- a/src/vbox/vbox_tmpl.c
> +++ b/src/vbox/vbox_tmpl.c
> @@ -5294,7 +5294,8 @@ vboxDomainUndefineFlags(virDomainPtr dom, unsigned int flags)
>
> ((IMachine_Delete)machine->vtbl->Delete)(machine, &safeArray,
&progress);
> # else
> - machine->vtbl->Delete(machine, 0, NULL, &progress);
> + vboxArray array = VBOX_ARRAY_INITIALIZER;
> + machine->vtbl->Delete(machine, 0, (IMedium**)&array,
&progress);
> # endif
ACK and Pushed.
Phooey. Now I'm getting compile failure:
cc1: warnings being treated as errors
In file included from vbox/vbox_V4_0.c:13:
vbox/vbox_tmpl.c: In function 'vboxDomainUndefineFlags':
vbox/vbox_tmpl.c:5298: warning: dereferencing type-punned pointer will
break strict-aliasing rules [-Wstrict-aliasing]
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org