summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeelan10 <keelan.cannoo@icloud.com>2023-04-03 11:41:04 +0400
committerKeelan10 <keelan.cannoo@icloud.com>2023-04-07 11:41:21 +0400
commitc123d2dee012620b8f43711062a10c49b9247a9c (patch)
treeb9e71ac58ed829a567b6237c0e6f35eb6c52b5aa
parentbdf62ec61b343adc007a93a66081d26d1483950a (diff)
lib: Fix link state memory leak
Free link message data when a delete event is recorded. Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
-rw-r--r--lib/link_state.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/link_state.c b/lib/link_state.c
index 589c0ae704..b501018be7 100644
--- a/lib/link_state.c
+++ b/lib/link_state.c
@@ -1905,6 +1905,20 @@ void ls_delete_msg(struct ls_message *msg)
if (msg == NULL)
return;
+ if (msg->event == LS_MSG_EVENT_DELETE) {
+ switch (msg->type) {
+ case LS_MSG_TYPE_NODE:
+ ls_node_del(msg->data.node);
+ break;
+ case LS_MSG_TYPE_ATTRIBUTES:
+ ls_attributes_del(msg->data.attr);
+ break;
+ case LS_MSG_TYPE_PREFIX:
+ ls_prefix_del(msg->data.prefix);
+ break;
+ }
+ }
+
XFREE(MTYPE_LS_DB, msg);
}