[libvirt] [PATCH 2/4] parallels: fix memory allocation

Daniel P. Berrange berrange at redhat.com
Wed Sep 26 13:01:01 UTC 2012


On Wed, Sep 26, 2012 at 04:53:07PM +0400, Dmitry Guryanov wrote:
> On 120926 16:33:28, Daniel P. Berrange wrote:
> > On Wed, Sep 26, 2012 at 04:30:00PM +0400, Dmitry Guryanov wrote:
> > > size of videos array must be increased.
> > > 
> > > Signed-off-by: Dmitry Guryanov <dguryanov at parallels.com>
> > > ---
> > >  src/parallels/parallels_driver.c |    2 +-
> > >  1 files changed, 1 insertions(+), 1 deletions(-)
> > > 
> > > diff --git a/src/parallels/parallels_driver.c b/src/parallels/parallels_driver.c
> > > index 20ee361..87e8cf5 100644
> > > --- a/src/parallels/parallels_driver.c
> > > +++ b/src/parallels/parallels_driver.c
> > > @@ -277,7 +277,7 @@ parallelsAddVideoInfo(virDomainDefPtr def, virJSONValuePtr value)
> > >      if (VIR_ALLOC(accel) < 0)
> > >          goto no_memory;
> > >  
> > > -    if (VIR_REALLOC_N(def->videos, def->nvideos) < 0)
> > > +    if (VIR_REALLOC_N(def->videos, def->nvideos + 1) < 0)
> > >          goto no_memory;
> > >  
> > >      def->videos[def->nvideos++] = video;
> > 
> > It is actually preferrable to use VIR_EXPAND_N here, eg
> > 
> >      if (VIR_EXPAND_N(def->videos, def->nvideos, 1) < 0)
> >          goto no_memory;
> > 
> >      def->videos[def->nvideos - 1] = video;
> > 
> > NB VIR_EXPAND_N actually changes the 'nvideos' param for you
> > 
> 
> VIR_EXPAND_N expects size_t, but fields storing numbers of devices in
> virDomainDef have type int, so the error occur:
> 
> parallels/parallels_driver.c:280: error: passing argument 3 of 'virExpandN' from incompatible pointer type
> ../src/util/memory.h:55: note: expected 'size_t *' but argument is of type 'int *'

Urgh, I forgot about this. ACK to your first patch.

We'll clean up this mess another time.


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list