|
@@ -1086,7 +1086,11 @@ static int nr_sendmsg(struct kiocb *iocb, struct socket *sock,
|
|
|
|
|
|
SOCK_DEBUG(sk, "NET/ROM: sendto: Addresses built.\n");
|
|
|
|
|
|
- /* Build a packet */
|
|
|
+ /* Build a packet - the conventional user limit is 236 bytes. We can
|
|
|
+ do ludicrously large NetROM frames but must not overflow */
|
|
|
+ if (len > 65536)
|
|
|
+ return -EMSGSIZE;
|
|
|
+
|
|
|
SOCK_DEBUG(sk, "NET/ROM: sendto: building packet.\n");
|
|
|
size = len + NR_NETWORK_LEN + NR_TRANSPORT_LEN;
|
|
|
|