diff options
Diffstat (limited to 'drivers/net/ppp/pppoe.c')
| -rw-r--r-- | drivers/net/ppp/pppoe.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c index ce61231e96ea..62dc564b251d 100644 --- a/drivers/net/ppp/pppoe.c +++ b/drivers/net/ppp/pppoe.c | |||
| @@ -429,6 +429,9 @@ static int pppoe_rcv(struct sk_buff *skb, struct net_device *dev, | |||
| 429 | if (!skb) | 429 | if (!skb) |
| 430 | goto out; | 430 | goto out; |
| 431 | 431 | ||
| 432 | if (skb_mac_header_len(skb) < ETH_HLEN) | ||
| 433 | goto drop; | ||
| 434 | |||
| 432 | if (!pskb_may_pull(skb, sizeof(struct pppoe_hdr))) | 435 | if (!pskb_may_pull(skb, sizeof(struct pppoe_hdr))) |
| 433 | goto drop; | 436 | goto drop; |
| 434 | 437 | ||
