diff options
author | Anton Vorontsov <cbouatmailru@gmail.com> | 2011-11-25 02:49:45 +0400 |
---|---|---|
committer | Anton Vorontsov <cbouatmailru@gmail.com> | 2011-11-25 02:54:59 +0400 |
commit | 47f0ac2b0a8c7f26b513a2a18045219b030aedf1 (patch) | |
tree | 27f33a5c1e40ee2a494758c1da2e03e86a09e32c /net/x25/x25_dev.c | |
parent | 7925231037447d1a9036f31c823d362bf2ef4bb0 (diff) | |
parent | c3b92c8787367a8bb53d57d9789b558f1295cc96 (diff) |
Merge tag 'v3.1' from git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git into master
Battery tree missed last merge window, so it became stale enough
so that patches no longer apply as people use pretty recent kernels.
Diffstat (limited to 'net/x25/x25_dev.c')
-rw-r--r-- | net/x25/x25_dev.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/x25/x25_dev.c b/net/x25/x25_dev.c index e547ca1578c3..fa2b41888bd9 100644 --- a/net/x25/x25_dev.c +++ b/net/x25/x25_dev.c @@ -32,6 +32,9 @@ static int x25_receive_data(struct sk_buff *skb, struct x25_neigh *nb) unsigned short frametype; unsigned int lci; + if (!pskb_may_pull(skb, X25_STD_MIN_LEN)) + return 0; + frametype = skb->data[2]; lci = ((skb->data[0] << 8) & 0xF00) + ((skb->data[1] << 0) & 0x0FF); @@ -115,6 +118,9 @@ int x25_lapb_receive_frame(struct sk_buff *skb, struct net_device *dev, goto drop; } + if (!pskb_may_pull(skb, 1)) + return 0; + switch (skb->data[0]) { case X25_IFACE_DATA: |