[libvirt] [PATCH] util: eliminate crash in virNetDevMacVLanCreateWithVPortProfile

Laine Stump laine at laine.org
Mon Mar 5 19:42:24 UTC 2012


From: root <root at vlap.laine.org>

Commit 723d5c (added after the release of 0.9.10) adds a
NetlinkEventClient for each interface sent to
virNetDevMacVLanCreateWithVPortProfile. This should only be done if
the interface actually *has* a virtPortProfile, otherwise the event
handler would be a NOP. The bigger problem is that part of the setup
to create the NetlinkEventClient is to do a memcpy of virtPortProfile
- if it's NULL, this triggers a segv.

This patch just qualifies the code that adds the client - if
virtPortProfile is NULL, it's skipped.
---
 src/util/virnetdevmacvlan.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/util/virnetdevmacvlan.c b/src/util/virnetdevmacvlan.c
index 57fc69e..e18b149 100644
--- a/src/util/virnetdevmacvlan.c
+++ b/src/util/virnetdevmacvlan.c
@@ -915,7 +915,7 @@ create_name:
         goto disassociate_exit;
     }
 
-    if (virNetlinkEventServiceIsRunning()) {
+    if (virtPortProfile && virNetlinkEventServiceIsRunning()) {
         if (VIR_ALLOC(calld) < 0)
             goto memory_error;
         if ((calld->cr_ifname = strdup(cr_ifname)) == NULL)
-- 
1.7.7.6




More information about the libvir-list mailing list