From 376fd4bb46b875b1ef4f1de60b79216d6296d6d8 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Sat, 5 Jan 2008 23:14:44 -0800 Subject: [PATCH] --- yaml --- r: 75317 b: refs/heads/master c: f844c74fe07321953e2dd227fe35280075f18f60 h: refs/heads/master i: 75315: 9002ef2275c8eb2671341bbf2dca27291db65c22 v: v3 --- [refs] | 2 +- trunk/net/ipv4/raw.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 7f9e1293cfd4..da72fad667a8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cb77df3ec88f07c6141924dfe6fd96a2f541cc09 +refs/heads/master: f844c74fe07321953e2dd227fe35280075f18f60 diff --git a/trunk/net/ipv4/raw.c b/trunk/net/ipv4/raw.c index 66b42f547bf9..e7050f8eabeb 100644 --- a/trunk/net/ipv4/raw.c +++ b/trunk/net/ipv4/raw.c @@ -271,6 +271,7 @@ static int raw_send_hdrinc(struct sock *sk, void *from, size_t length, int hh_len; struct iphdr *iph; struct sk_buff *skb; + unsigned int iphlen; int err; if (length > rt->u.dst.dev->mtu) { @@ -304,7 +305,8 @@ static int raw_send_hdrinc(struct sock *sk, void *from, size_t length, goto error_fault; /* We don't modify invalid header */ - if (length >= sizeof(*iph) && iph->ihl * 4U <= length) { + iphlen = iph->ihl * 4; + if (iphlen >= sizeof(*iph) && iphlen <= length) { if (!iph->saddr) iph->saddr = rt->rt_src; iph->check = 0;