]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: eliminate crash in virNetDevMacVLanCreateWithVPortProfile
authorLaine Stump <laine@laine.org>
Mon, 5 Mar 2012 19:53:48 +0000 (14:53 -0500)
committerLaine Stump <laine@laine.org>
Mon, 5 Mar 2012 19:54:13 +0000 (14:54 -0500)
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

index d36b3260764a993ce480c27eb556eb93ab75432f..f38a98c815d87aa3d91ec0683b0a17bcc865bc3a 100644 (file)
@@ -913,7 +913,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)