diff options
author | Yi-Hung Wei <yihung.wei@gmail.com> | 2017-04-07 14:43:39 -0700 |
---|---|---|
committer | Ben Pfaff <blp@ovn.org> | 2017-04-22 10:24:33 -0700 |
commit | bc36c3a8b0ebb41d9ce5646bedb147be6d77975c (patch) | |
tree | 520d0346d1621149cc23665bf495bcd99c241aa5 | |
parent | 7b91e3c85b5f54cec7dae712fa9f1635847d539a (diff) | |
download | openvswitch-bc36c3a8b0ebb41d9ce5646bedb147be6d77975c.tar.gz |
ofproto: Fix memory leak in handle_tlv_table_mod()
In testcase "tunnel - Geneve metadata", valgrind reports a memory leak with
the following call stack.
xcalloc (util.c:95)
tun_metadata_alloc (tun-metadata.c:89)
tun_metadata_table_mod (tun-metadata.c:175)
handle_tlv_table_mod (ofproto.c:7856)
handle_openflow__ (ofproto.c:8036)
handle_openflow (ofproto.c:8098)
ofconn_run (connmgr.c:1427)
connmgr_run (connmgr.c:363)
ofproto_run (ofproto.c:1815)
bridge_run__ (bridge.c:2915)
bridge_run (bridge.c:2972)
main (ovs-vswitchd.c:111)
Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
-rw-r--r-- | ofproto/ofproto.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index dc0d82987..ca0f3e49b 100644 --- a/ofproto/ofproto.c +++ b/ofproto/ofproto.c @@ -7873,6 +7873,8 @@ handle_tlv_table_mod(struct ofconn *ofconn, const struct ofp_header *oh) if (!error) { ovsrcu_set(&ofproto->metadata_tab, new_tab); tun_metadata_postpone_free(old_tab); + } else { + tun_metadata_free(new_tab); } } |