diff options
| author | Keelan10 <keelan.cannoo@icloud.com> | 2023-04-03 11:41:04 +0400 | 
|---|---|---|
| committer | Mergify <37929162+mergify[bot]@users.noreply.github.com> | 2023-04-12 15:58:18 +0000 | 
| commit | c4bfefd4d919df0a0a88e3480c5e5fdb18356ee4 (patch) | |
| tree | 7141580ed6d164a571657fa983aa5ed78796bb51 /lib | |
| parent | bc6697fa12660eafab4b3f724bcbaecfdd33b616 (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>
(cherry picked from commit c123d2dee012620b8f43711062a10c49b9247a9c)
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/link_state.c | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/link_state.c b/lib/link_state.c index ab5a8515b5..7c770e25d8 100644 --- a/lib/link_state.c +++ b/lib/link_state.c @@ -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);  }  | 
