diff options
-rw-r--r-- | openbsc/src/libmsc/ussd.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/openbsc/src/libmsc/ussd.c b/openbsc/src/libmsc/ussd.c index 23adfeef1..604c686d3 100644 --- a/openbsc/src/libmsc/ussd.c +++ b/openbsc/src/libmsc/ussd.c @@ -218,6 +218,13 @@ int on_ussd_response(struct gsm_network *net, msgb_put(msg, reqhdr->component_length); ssrep.transaction_id = (trans->transaction_id << 4) ^ 0x80; + + if (!trans->conn) { + DEBUGP(DSS, "No connection for transaction with id: %d\n", + trans->transaction_id); + msgb_free(msg); + return -1; + } rc = gsm0480_send_component(trans->conn, msg, &ssrep); if (reqhdr->message_type == GSM0480_MTYPE_RELEASE_COMPLETE) { |