libmsc: fix memory leak (struct gsm_sms) in gsm340_rx_tpdu()
If a MO SMS gets successfully routed through SMPP, we return early
in gsm340_rx_tpdu() and leak a chunk of type 'struct gsm_sms'.
Change-Id: I8a745d747f06baa7109418ffe600b27b3c0a5228
Fixes: [1] Ic34d398e0a850856e20380ae35e5c2ae5e3c539b
Fixes: OS#5334
diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c
index 199fdc1..bd7cf1f 100644
--- a/src/libmsc/gsm_04_11.c
+++ b/src/libmsc/gsm_04_11.c
@@ -631,7 +631,8 @@
/* This SMS got routed through SMPP and we are waiting on the response. */
if (gsms->smpp.esme) {
- return -EINPROGRESS;
+ rc = -EINPROGRESS;
+ goto out;
}
/* This SMS got routed through SMPP, but the configured ESME was