diff --git a/drivers/net/ppp_async.c b/drivers/net/ppp_async.c index 933e2f3c77aac7ccb76f7ee226e9db0e1994977c..caabbc408c343c6e6ef6f1cfb0118725b9046fbf 100644 --- a/drivers/net/ppp_async.c +++ b/drivers/net/ppp_async.c @@ -802,9 +802,9 @@ process_input_packet(struct asyncppp *ap) /* check for address/control and protocol compression */ p = skb->data; - if (p[0] == PPP_ALLSTATIONS && p[1] == PPP_UI) { + if (p[0] == PPP_ALLSTATIONS) { /* chop off address/control */ - if (skb->len < 3) + if (p[1] != PPP_UI || skb->len < 3) goto err; p = skb_pull(skb, 2); }