From a4952aa43625140ec7e9f2e892d938d16ee7ae88 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Fri, 16 Feb 2018 01:26:00 +0100 Subject: memleak: fix all libosmocore callers of gsmtap_sendmsg() to free on failure gsmtap_sendmsg() does not free the msgb if it returns a failure rc, so the callers must check the rc and free the msg. Change-Id: I7cf64ed9b14247298ed8b4ab8735627f8235a499 --- src/logging_gsmtap.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/logging_gsmtap.c') diff --git a/src/logging_gsmtap.c b/src/logging_gsmtap.c index cb379b07..c53a0abe 100644 --- a/src/logging_gsmtap.c +++ b/src/logging_gsmtap.c @@ -103,7 +103,9 @@ static void _gsmtap_raw_output(struct log_target *target, int subsys, return; msgb_put(msg, rc); - gsmtap_sendmsg(target->tgt_gsmtap.gsmtap_inst, msg); + rc = gsmtap_sendmsg(target->tgt_gsmtap.gsmtap_inst, msg); + if (rc) + msgb_free(msg); } /*! Create a new logging target for GSMTAP logging -- cgit v1.2.3