aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-10-26 10:25:36 +0300
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-10-26 10:25:39 +0300
commit583883bf2e4fbeac7594e027d47cdc271534ffba (patch)
tree1e4a28990b711bd7af2a1ff6360c747b78836e9b
parenta1a70be593a341f48fd7eeca96e6663109868370 (diff)
libmsc: fix NULL pointer dereference in trans_lcls_compose()
Change-Id: I96342de4cb3e0bc3d3cac7538d4517aa211e8a38 Fixes: CID#240768
-rw-r--r--src/libmsc/transaction.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c
index 2108ab492..25c0e3c50 100644
--- a/src/libmsc/transaction.c
+++ b/src/libmsc/transaction.c
@@ -112,6 +112,11 @@ struct gsm_trans *trans_find_by_sm_rp_mr(const struct gsm_network *net,
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 *trans_lcls_compose(const struct gsm_trans *trans, bool use_lac
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;