laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/33890 )
Change subject: SMPP: Fix Memory leaks ......................................................................
SMPP: Fix Memory leaks
Whenever we call build_tlv() we must call destroy_tlv() after we are finished with it.
Similarly, smpp34_unpack() makes calls to smpp34_malloc() and these need to be free'd by us later.
Change-Id: Ic2abcbe78cf7cf7b6ce36fe09aa9b4f8daee973f --- M src/libsmpputil/smpp_msc.c M src/libsmpputil/smpp_smsc.c 2 files changed, 18 insertions(+), 0 deletions(-)
Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved
diff --git a/src/libsmpputil/smpp_msc.c b/src/libsmpputil/smpp_msc.c index fed5858..cf17540 100644 --- a/src/libsmpputil/smpp_msc.c +++ b/src/libsmpputil/smpp_msc.c @@ -788,6 +788,7 @@ sms->msg_ref);
ret = smpp_tx_deliver(esme, &deliver); + destroy_tlv(deliver.tlv); if (ret < 0) return ret;
diff --git a/src/libsmpputil/smpp_smsc.c b/src/libsmpputil/smpp_smsc.c index 314dc60..34e24c5 100644 --- a/src/libsmpputil/smpp_smsc.c +++ b/src/libsmpputil/smpp_smsc.c @@ -694,6 +694,7 @@
if (!(esme->bind_flags & ESME_BIND_TX)) { submit_r.command_status = ESME_RINVBNDSTS; + destroy_tlv(submit.tlv); return PACK_AND_SEND(esme->esme, &submit_r); }
@@ -703,6 +704,7 @@ INIT_RESP(SUBMIT_SM_RESP, &submit_r, &submit);
rc = handle_smpp_submit(esme, &submit, &submit_r); + destroy_tlv(submit.tlv); if (rc == 0) return PACK_AND_SEND(esme->esme, &submit_r);