vswitch: Fix memory leak when OFMP resource updates are sent
authorJustin Pettit <jpettit@nicira.com>
Wed, 10 Jun 2009 20:00:10 +0000 (13:00 -0700)
committerJustin Pettit <jpettit@nicira.com>
Thu, 11 Jun 2009 00:10:54 +0000 (17:10 -0700)
When a resource update message is generated by vSwitch, it creates a
couple of svec objects that need to be explicitly destroyed.  This
wasn't happening, so memory would leak after each resource update.  This
commit properly destroys them after use.

vswitchd/mgmt.c

index 90f3ecb60c48ed83f7ac77e5fd654cba8c124891..f42f679ceb843c82df25458e4a655287c653e287 100644 (file)
@@ -381,6 +381,7 @@ send_resources_update(uint32_t xid, bool use_xid)
             }
         }
     }
+    svec_destroy(&br_list);
 
     /* On XenServer systems, extended information about virtual interfaces 
      * (VIFs) is available, which is needed by the controller. 
@@ -423,6 +424,7 @@ send_resources_update(uint32_t xid, bool use_xid)
         vif_mac = cfg_get_mac(0, "port.%s.vif-mac", port_list.names[i]);
         vif_tlv->vif_mac = htonll(vif_mac);
     }
+    svec_destroy(&port_list);
 
     /* Put end marker. */
     tlv = ofpbuf_put_zeros(buffer, sizeof(*tlv));