diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2009-03-27 03:28:21 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-27 03:28:21 -0400 |
commit | 83e0bbcbe2145f160fbaa109b0439dae7f4a38a9 (patch) | |
tree | de3f516afc1878914855c9393b1e08c698ac378c /net/x25/af_x25.c | |
parent | 03ba999117eb8688252f9068356b6e028c2c3a56 (diff) |
af_rose/x25: Sanity check the maximum user frame size
Otherwise we can wrap the sizes and end up sending garbage.
Closes #10423
Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/x25/af_x25.c')
-rw-r--r-- | net/x25/af_x25.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index 9ca17b1ce52e..ed80af8ca5fb 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c | |||
@@ -1035,6 +1035,12 @@ static int x25_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
1035 | sx25.sx25_addr = x25->dest_addr; | 1035 | sx25.sx25_addr = x25->dest_addr; |
1036 | } | 1036 | } |
1037 | 1037 | ||
1038 | /* Sanity check the packet size */ | ||
1039 | if (len > 65535) { | ||
1040 | rc = -EMSGSIZE; | ||
1041 | goto out; | ||
1042 | } | ||
1043 | |||
1038 | SOCK_DEBUG(sk, "x25_sendmsg: sendto: Addresses built.\n"); | 1044 | SOCK_DEBUG(sk, "x25_sendmsg: sendto: Addresses built.\n"); |
1039 | 1045 | ||
1040 | /* Build a packet */ | 1046 | /* Build a packet */ |