diff --git a/net/802/garp.c b/net/802/garp.c index 8e19f51833d6..3845f619f602 100644 --- a/net/802/garp.c +++ b/net/802/garp.c @@ -455,7 +455,7 @@ static int garp_pdu_parse_attr(struct garp_applicant *app, struct sk_buff *skb, if (!pskb_may_pull(skb, ga->len)) return -1; skb_pull(skb, ga->len); - dlen = sizeof(*ga) - ga->len; + dlen = ga->len - sizeof(*ga); if (attrtype > app->app->maxattr) return 0;