diff options
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 373e14f21a1..8c0346f00e6 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c @@ -960,6 +960,12 @@ int x25_rx_call_request(struct sk_buff *skb, struct x25_neigh *nb, skb_pull(skb,len); /* + * Ensure that the amount of call user data is valid. + */ + if (skb->len > X25_MAX_CUD_LEN) + goto out_clear_request; + + /* * Find a listener for the particular address/cud pair. */ sk = x25_find_listener(&source_addr,skb); |