summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlic121 <lic121@chinatelecom.cn>2022-05-26 14:25:13 +0000
committerIlya Maximets <i.maximets@ovn.org>2022-06-28 12:06:11 +0200
commit509c32765a3218aafc44b036b1fd4e8e6c4d2d51 (patch)
tree423c450905e1a3f63418fc7cc1a52dd32e70568a
parentf1c51be5006f12a5a45d827aac33b8fab079b338 (diff)
downloadopenvswitch-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.c10
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");