vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach
it was recently observed in a pcap trace with gsmtap_log that the
use_count contained a "vlr_sgs_imsi_detach" item despite no related
message was seen near by. Further investigation shows that there's an
unbalanced get+put code path, introduced by an early return added to fix
another issue.
related: SYS#5337
Fixes: 0803d88d9a
Change-Id: I91ae956e50fca2f4d0e1d145d60ccb0ebfb409e9
This commit is contained in:
parent
eb1b3ab6da
commit
25b3ffb5f4
|
@ -148,8 +148,10 @@ void vlr_sgs_imsi_detach(struct vlr_instance *vlr, const char *imsi, enum sgsap_
|
|||
/* See also: 3GPP TS 29.118, 5.6.3 Procedures in the VLR: In case of
|
||||
* an implicit detach, we are supposed to check if the state of the
|
||||
* SGs-association, and only when it is not SGs-NULL, we may proceed. */
|
||||
if (vsub->sgs_fsm->state == SGS_UE_ST_NULL && type == SGSAP_ID_NONEPS_T_IMPLICIT_UE_EPS_NONEPS)
|
||||
if (vsub->sgs_fsm->state == SGS_UE_ST_NULL && type == SGSAP_ID_NONEPS_T_IMPLICIT_UE_EPS_NONEPS) {
|
||||
vlr_subscr_put(vsub, __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
switch (type) {
|
||||
case SGSAP_ID_NONEPS_T_EXPLICIT_UE_NONEPS:
|
||||
|
|
Loading…
Reference in New Issue