]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib: Fix link state memory leak
authorKeelan10 <keelan.cannoo@icloud.com>
Mon, 3 Apr 2023 07:41:04 +0000 (11:41 +0400)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Wed, 12 Apr 2023 15:58:18 +0000 (15:58 +0000)
Free link message data when a delete event is recorded.

Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
(cherry picked from commit c123d2dee012620b8f43711062a10c49b9247a9c)

lib/link_state.c

index ab5a8515b5c6c1dc2d0020a64095442c71d77659..7c770e25d8b469ff002922d582ef3ff46aa8d238 100644 (file)
@@ -1888,6 +1888,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);
 }