[libvirt] [PATCH 1/6] xen: Avoid possible NULL dereference

2013-01-07 Thread John Ferlan
Change calling sequence to only call xenUnifiedDomainSetVcpusFlags() when
'dom' is not NULL. Use the GET_PRIVATE() macro to reference privateData.
Just return -1 if dom is NULL.
---
 src/xen/xen_driver.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 2ef2c57..559025e 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -1253,17 +1253,17 @@ static int
 xenUnifiedDomainSetVcpus(virDomainPtr dom, unsigned int nvcpus)
 {
 unsigned int flags = VIR_DOMAIN_VCPU_LIVE;
-xenUnifiedPrivatePtr priv;
 
 /* Per the documented API, it is hypervisor-dependent whether this
  * affects just _LIVE or _LIVE|_CONFIG; in xen's case, that
  * depends on xendConfigVersion.  */
 if (dom) {
-priv = dom-conn-privateData;
+GET_PRIVATE(dom-conn);
 if (priv-xendConfigVersion = XEND_CONFIG_VERSION_3_0_4)
 flags |= VIR_DOMAIN_VCPU_CONFIG;
+return xenUnifiedDomainSetVcpusFlags(dom, nvcpus, flags);
 }
-return xenUnifiedDomainSetVcpusFlags(dom, nvcpus, flags);
+return -1;
 }
 
 static int
-- 
1.7.11.7

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [PATCH 1/6] xen: Avoid possible NULL dereference

2013-01-07 Thread Daniel P. Berrange
On Mon, Jan 07, 2013 at 12:09:29PM -0500, John Ferlan wrote:
 Change calling sequence to only call xenUnifiedDomainSetVcpusFlags() when
 'dom' is not NULL. Use the GET_PRIVATE() macro to reference privateData.
 Just return -1 if dom is NULL.
 ---
  src/xen/xen_driver.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
 index 2ef2c57..559025e 100644
 --- a/src/xen/xen_driver.c
 +++ b/src/xen/xen_driver.c
 @@ -1253,17 +1253,17 @@ static int
  xenUnifiedDomainSetVcpus(virDomainPtr dom, unsigned int nvcpus)
  {
  unsigned int flags = VIR_DOMAIN_VCPU_LIVE;
 -xenUnifiedPrivatePtr priv;
  
  /* Per the documented API, it is hypervisor-dependent whether this
   * affects just _LIVE or _LIVE|_CONFIG; in xen's case, that
   * depends on xendConfigVersion.  */
  if (dom) {
 -priv = dom-conn-privateData;
 +GET_PRIVATE(dom-conn);
  if (priv-xendConfigVersion = XEND_CONFIG_VERSION_3_0_4)
  flags |= VIR_DOMAIN_VCPU_CONFIG;
 +return xenUnifiedDomainSetVcpusFlags(dom, nvcpus, flags);
  }
 -return xenUnifiedDomainSetVcpusFlags(dom, nvcpus, flags);
 +return -1;
  }
  
  static int

ACK

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 :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list