libmsc: fix NULL pointer dereference in trans_lcls_compose()
Change-Id: I96342de4cb3e0bc3d3cac7538d4517aa211e8a38
Fixes: CID#240768
diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c
index 2108ab4..25c0e3c 100644
--- a/src/libmsc/transaction.c
+++ b/src/libmsc/transaction.c
@@ -112,6 +112,11 @@
struct osmo_lcls *trans_lcls_compose(const struct gsm_trans *trans, bool use_lac)
{
+ if (!trans) {
+ LOGP(DCC, LOGL_ERROR, "LCLS: unable to fill parameters for unallocated transaction\n");
+ return NULL;
+ }
+
if (!trans->net->a.sri->sccp)
return NULL;
@@ -119,11 +124,6 @@
struct osmo_lcls *lcls;
uint8_t w = osmo_ss7_pc_width(&ss7->cfg.pc_fmt);
- if (!trans) {
- LOGP(DCC, LOGL_ERROR, "LCLS: unable to fill parameters for unallocated transaction\n");
- return NULL;
- }
-
if (!trans->net->lcls_permitted) {
LOGP(DCC, LOGL_NOTICE, "LCLS disabled globally\n");
return NULL;