diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2023-07-19 09:38:25 +0200 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2023-07-21 11:16:16 +0000 |
commit | 7e65ed9091b8a1565435364c571a8f7949805e49 (patch) | |
tree | 17492c6a6725ce2d7db8c683d7c4e8142e856db4 /src | |
parent | 23b53e544f26dde49621f0f6d659e380644f84a2 (diff) |
ASCI: Null pointer bug fix in trans_create_bcc_gcc
Fixes: CID#322147
Change-Id: I1676d3cbf844930a6a433253f055a3f8fe3c210b
Diffstat (limited to 'src')
-rw-r--r-- | src/libmsc/msc_vgcs.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libmsc/msc_vgcs.c b/src/libmsc/msc_vgcs.c index 52cc25dca..7f72583fc 100644 --- a/src/libmsc/msc_vgcs.c +++ b/src/libmsc/msc_vgcs.c @@ -1320,8 +1320,8 @@ static struct gsm_trans *trans_alloc_vgcs(struct gsm_network *net, static struct gsm_trans *trans_create_bcc_gcc(struct msc_a *msc_a, enum trans_type trans_type, uint8_t transaction_id, uint8_t pdisc, uint8_t msg_type, uint32_t callref) { - struct gsm_network *net = msc_a_net(msc_a); - struct vlr_subscr *vsub = msc_a_vsub(msc_a); + struct gsm_network *net; + struct vlr_subscr *vsub; struct gsm_trans *trans = NULL; struct gcr *gcr; int rc; @@ -1330,6 +1330,9 @@ static struct gsm_trans *trans_create_bcc_gcc(struct msc_a *msc_a, enum trans_ty LOG_GCC(trans, LOGL_ERROR, "Invalid conn: no msc_a\n"); return NULL; } + net = msc_a_net(msc_a); + vsub = msc_a_vsub(msc_a); + if (!vsub) { LOG_GCC(trans, LOGL_ERROR, "Invalid conn: no subscriber\n"); return NULL; |