diff options
| -rw-r--r-- | net/bridge/br_netfilter.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c index 68e8f364bbf8..fe43bc7b063f 100644 --- a/net/bridge/br_netfilter.c +++ b/net/bridge/br_netfilter.c | |||
| @@ -265,6 +265,9 @@ static int br_parse_ip_options(struct sk_buff *skb) | |||
| 265 | struct net_device *dev = skb->dev; | 265 | struct net_device *dev = skb->dev; |
| 266 | u32 len; | 266 | u32 len; |
| 267 | 267 | ||
| 268 | if (!pskb_may_pull(skb, sizeof(struct iphdr))) | ||
| 269 | goto inhdr_error; | ||
| 270 | |||
| 268 | iph = ip_hdr(skb); | 271 | iph = ip_hdr(skb); |
| 269 | opt = &(IPCB(skb)->opt); | 272 | opt = &(IPCB(skb)->opt); |
| 270 | 273 | ||
