|
|
|
@ -580,7 +580,7 @@ int t38_gateway_input_udptl(struct t38_gateway *tg, const str *buf) {
|
|
|
|
|
// get seq num
|
|
|
|
|
uint16_t seq;
|
|
|
|
|
if (str_shift_ret(&s, 2, &piece))
|
|
|
|
|
goto err;
|
|
|
|
|
goto err_nolock;
|
|
|
|
|
seq = ntohs(*((uint16_t *) piece.s));
|
|
|
|
|
|
|
|
|
|
err = "Invalid primary UDPTL packet";
|
|
|
|
@ -593,7 +593,7 @@ int t38_gateway_input_udptl(struct t38_gateway *tg, const str *buf) {
|
|
|
|
|
|
|
|
|
|
err = "Error correction mode byte missing";
|
|
|
|
|
if (str_shift_ret(&s, 1, &piece))
|
|
|
|
|
goto err;
|
|
|
|
|
goto err_nolock;
|
|
|
|
|
char fec = piece.s[0];
|
|
|
|
|
|
|
|
|
|
mutex_lock(&tg->lock);
|
|
|
|
@ -756,6 +756,8 @@ out:
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
err:
|
|
|
|
|
mutex_unlock(&tg->lock);
|
|
|
|
|
err_nolock:
|
|
|
|
|
if (err)
|
|
|
|
|
ilog(LOG_ERR | LOG_FLAG_LIMIT, "Failed to process UDPTL/T.38/IFP packet: %s", err);
|
|
|
|
|
if (up)
|
|
|
|
|