[libvirt] [PATCH] xen: Don't crash when we fail to init caps

Guido Günther agx at sigxcpu.org
Mon Jan 23 11:46:08 UTC 2012


On Mon, Jan 23, 2012 at 10:22:35AM +0000, Daniel P. Berrange wrote:
> On Sun, Jan 22, 2012 at 12:30:20PM +0100, Guido Günther wrote:
> > On Fri, Jan 20, 2012 at 05:01:48PM +0000, Daniel P. Berrange wrote:
> > > On Fri, Jan 20, 2012 at 05:57:34PM +0100, Guido Günther wrote:
> > > > by dereferencing a NULL pointer in the call to
> > > > virNodeSuspendGetTargetMask.
> > > > 
> > > > Only warn but Don't set an error to not overwrite an error code set by
> > > > xenHypervisorMakeCapabilities.
> > > > ---
> > > >  src/xen/xen_hypervisor.c |    4 ++++
> > > >  1 files changed, 4 insertions(+), 0 deletions(-)
> > > > 
> > > > diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c
> > > > index 2bb3466..855576c 100644
> > > > --- a/src/xen/xen_hypervisor.c
> > > > +++ b/src/xen/xen_hypervisor.c
> > > > @@ -2764,6 +2764,10 @@ xenHypervisorMakeCapabilities(virConnectPtr conn)
> > > >                                                   utsname.machine,
> > > >                                                   cpuinfo,
> > > >                                                   capabilities);
> > > > +    if (caps == NULL) {
> > > > +        VIR_WARN("Failed to get host capabilities");
> > > > +        return NULL;
> > > > +    }
> > > 
> > > Shouldn't be any need for a warning there since the method
> > > we just called should have raised an error
> > The attached version omits the warning. O.k. to apply?
> > Cheers,
> >  -- Guido
> 
> > From a1f5ee7934c367ed707123c5f720d98c5f93425e Mon Sep 17 00:00:00 2001
> > From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx at sigxcpu.org>
> > Date: Fri, 20 Jan 2012 08:56:39 +0100
> > Subject: [PATCH] xen: Don't crash when we fail to init caps
> > 
> > by dereferencing a NULL pointer in the call to
> > virNodeSuspendGetTargetMask.
> > ---
> >  src/xen/xen_hypervisor.c |    2 ++
> >  1 files changed, 2 insertions(+), 0 deletions(-)
> > 
> > diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c
> > index 5e71967..b5b2328 100644
> > --- a/src/xen/xen_hypervisor.c
> > +++ b/src/xen/xen_hypervisor.c
> > @@ -2764,6 +2764,8 @@ xenHypervisorMakeCapabilities(virConnectPtr conn)
> >                                                   utsname.machine,
> >                                                   cpuinfo,
> >                                                   capabilities);
> > +    if (caps == NULL)
> > +        return NULL;
> >  
> >      if (virNodeSuspendGetTargetMask(&caps->host.powerMgmt) < 0)
> >          VIR_WARN("Failed to get host power management capabilities");
> 
> ACK
Pushed. Thanks.
 -- Guido




More information about the libvir-list mailing list