subscr: Fix subscr refcount issue in case of message error

In case the SMPP payload didn't include the right fields we
would leak the subscr reference count.
This commit is contained in:
Holger Hans Peter Freyther 2015-08-04 12:22:56 +02:00
parent 8159455506
commit 5425e5ea27
1 changed files with 2 additions and 0 deletions

View File

@ -110,6 +110,7 @@ static int submit_to_sms(struct gsm_sms **psms, struct gsm_network *net,
/* ERROR: we cannot have both! */
LOGP(DLSMS, LOGL_ERROR, "SMPP Cannot have payload in "
"TLV _and_ in the header\n");
subscr_put(dest);
return ESME_ROPTPARNOTALLWD;
}
sms_msg = t->value.octet;
@ -120,6 +121,7 @@ static int submit_to_sms(struct gsm_sms **psms, struct gsm_network *net,
} else {
LOGP(DLSMS, LOGL_ERROR,
"SMPP neither message payload nor valid sm_length.\n");
subscr_put(dest);
return ESME_RINVPARLEN;
}