diff options
-rw-r--r-- | net/ipv4/fib_frontend.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index 5b03d7f3b255..6789e48b7085 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c | |||
@@ -1081,7 +1081,8 @@ static void nl_fib_input(struct sk_buff *skb) | |||
1081 | 1081 | ||
1082 | net = sock_net(skb->sk); | 1082 | net = sock_net(skb->sk); |
1083 | nlh = nlmsg_hdr(skb); | 1083 | nlh = nlmsg_hdr(skb); |
1084 | if (skb->len < NLMSG_HDRLEN || skb->len < nlh->nlmsg_len || | 1084 | if (skb->len < nlmsg_total_size(sizeof(*frn)) || |
1085 | skb->len < nlh->nlmsg_len || | ||
1085 | nlmsg_len(nlh) < sizeof(*frn)) | 1086 | nlmsg_len(nlh) < sizeof(*frn)) |
1086 | return; | 1087 | return; |
1087 | 1088 | ||