|
|
@@ -279,7 +279,7 @@ l1oip_socket_send(struct l1oip *hc, u8 localcodec, u8 channel, u32 chanmask,
|
|
|
u16 timebase, u8 *buf, int len)
|
|
|
{
|
|
|
u8 *p;
|
|
|
- u8 frame[len + 32];
|
|
|
+ u8 frame[MAX_DFRAME_LEN_L1 + 32];
|
|
|
struct socket *socket = NULL;
|
|
|
|
|
|
if (debug & DEBUG_L1OIP_MSG)
|
|
|
@@ -902,7 +902,11 @@ handle_dmsg(struct mISDNchannel *ch, struct sk_buff *skb)
|
|
|
p = skb->data;
|
|
|
l = skb->len;
|
|
|
while (l) {
|
|
|
- ll = (l < L1OIP_MAX_PERFRAME) ? l : L1OIP_MAX_PERFRAME;
|
|
|
+ /*
|
|
|
+ * This is technically bounded by L1OIP_MAX_PERFRAME but
|
|
|
+ * MAX_DFRAME_LEN_L1 < L1OIP_MAX_PERFRAME
|
|
|
+ */
|
|
|
+ ll = (l < MAX_DFRAME_LEN_L1) ? l : MAX_DFRAME_LEN_L1;
|
|
|
l1oip_socket_send(hc, 0, dch->slot, 0,
|
|
|
hc->chan[dch->slot].tx_counter++, p, ll);
|
|
|
p += ll;
|
|
|
@@ -1140,7 +1144,11 @@ handle_bmsg(struct mISDNchannel *ch, struct sk_buff *skb)
|
|
|
p = skb->data;
|
|
|
l = skb->len;
|
|
|
while (l) {
|
|
|
- ll = (l < L1OIP_MAX_PERFRAME) ? l : L1OIP_MAX_PERFRAME;
|
|
|
+ /*
|
|
|
+ * This is technically bounded by L1OIP_MAX_PERFRAME but
|
|
|
+ * MAX_DFRAME_LEN_L1 < L1OIP_MAX_PERFRAME
|
|
|
+ */
|
|
|
+ ll = (l < MAX_DFRAME_LEN_L1) ? l : MAX_DFRAME_LEN_L1;
|
|
|
l1oip_socket_send(hc, hc->codec, bch->slot, 0,
|
|
|
hc->chan[bch->slot].tx_counter, p, ll);
|
|
|
hc->chan[bch->slot].tx_counter += ll;
|