Merge branch 'zecke/fixes/subscr-leak'
At the rhizomatica sites some unauthorized subscribers have a last used from long time ago but a bigger reference count. This means that we have an unbalanced subscr_get/subscr_put that we need to investigate. These two fixes are genuine fixes but are unlikely to fix the issue I am not understanding yet.
This commit is contained in:
commit
2f25764e51
|
@ -353,6 +353,7 @@ static void subscr_expire_callback(void *data, long long unsigned int id)
|
||||||
LOGP(DMM, LOGL_DEBUG, "Not expiring subscriber %s (ID %llu)\n",
|
LOGP(DMM, LOGL_DEBUG, "Not expiring subscriber %s (ID %llu)\n",
|
||||||
subscr_name(s), id);
|
subscr_name(s), id);
|
||||||
subscr_update_expire_lu(s, conn->bts);
|
subscr_update_expire_lu(s, conn->bts);
|
||||||
|
subscr_put(s);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -110,6 +110,7 @@ static int submit_to_sms(struct gsm_sms **psms, struct gsm_network *net,
|
||||||
/* ERROR: we cannot have both! */
|
/* ERROR: we cannot have both! */
|
||||||
LOGP(DLSMS, LOGL_ERROR, "SMPP Cannot have payload in "
|
LOGP(DLSMS, LOGL_ERROR, "SMPP Cannot have payload in "
|
||||||
"TLV _and_ in the header\n");
|
"TLV _and_ in the header\n");
|
||||||
|
subscr_put(dest);
|
||||||
return ESME_ROPTPARNOTALLWD;
|
return ESME_ROPTPARNOTALLWD;
|
||||||
}
|
}
|
||||||
sms_msg = t->value.octet;
|
sms_msg = t->value.octet;
|
||||||
|
@ -120,6 +121,7 @@ static int submit_to_sms(struct gsm_sms **psms, struct gsm_network *net,
|
||||||
} else {
|
} else {
|
||||||
LOGP(DLSMS, LOGL_ERROR,
|
LOGP(DLSMS, LOGL_ERROR,
|
||||||
"SMPP neither message payload nor valid sm_length.\n");
|
"SMPP neither message payload nor valid sm_length.\n");
|
||||||
|
subscr_put(dest);
|
||||||
return ESME_RINVPARLEN;
|
return ESME_RINVPARLEN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue