diff options
author | lic121 <lic121@chinatelecom.cn> | 2022-05-26 14:25:13 +0000 |
---|---|---|
committer | Ilya Maximets <i.maximets@ovn.org> | 2022-06-28 12:06:11 +0200 |
commit | 509c32765a3218aafc44b036b1fd4e8e6c4d2d51 (patch) | |
tree | 423c450905e1a3f63418fc7cc1a52dd32e70568a | |
parent | f1c51be5006f12a5a45d827aac33b8fab079b338 (diff) | |
download | openvswitch-509c32765a3218aafc44b036b1fd4e8e6c4d2d51.tar.gz |
lldp: Fix lldp memory leak.
lldp_create() malloc memory for lldp->lldpd->g_hardware. lldp_unref
is supposed to free the memory regardless of hw->h_flags.
Signed-off-by: lic121 <lic121@chinatelecom.cn>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
Acked-by: Paolo Valerio <pvalerio@redhat.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
-rw-r--r-- | lib/lldp/lldpd.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/lib/lldp/lldpd.c b/lib/lldp/lldpd.c index 403f1f525..4bff7b017 100644 --- a/lib/lldp/lldpd.c +++ b/lib/lldp/lldpd.c @@ -140,13 +140,9 @@ lldpd_cleanup(struct lldpd *cfg) VLOG_DBG("cleanup all ports"); LIST_FOR_EACH_SAFE (hw, h_entries, &cfg->g_hardware) { - if (!hw->h_flags) { - ovs_list_remove(&hw->h_entries); - lldpd_remote_cleanup(hw, NULL, true); - lldpd_hardware_cleanup(cfg, hw); - } else { - lldpd_remote_cleanup(hw, NULL, false); - } + ovs_list_remove(&hw->h_entries); + lldpd_remote_cleanup(hw, NULL, true); + lldpd_hardware_cleanup(cfg, hw); } VLOG_DBG("cleanup all chassis"); |