From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: [PATCH iproute] ip: validate vlan value for vlan info Date: Thu, 14 Dec 2017 18:19:18 -0800 Message-ID: <20171215021918.21986-1-stephen@networkplumber.org> Cc: Stephen Hemminger To: netdev@vger.kernel.org Return-path: Received: from mail-pg0-f66.google.com ([74.125.83.66]:42699 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754594AbdLOCTY (ORCPT ); Thu, 14 Dec 2017 21:19:24 -0500 Received: by mail-pg0-f66.google.com with SMTP id e14so4769095pgr.9 for ; Thu, 14 Dec 2017 18:19:24 -0800 (PST) Sender: netdev-owner@vger.kernel.org List-ID: The VLAN tag must be 0..4095 to be valid. Better to trap it here. Signed-off-by: Stephen Hemminger --- ip/iplink.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ip/iplink.c b/ip/iplink.c index e83f1477e7bc..1e685cc23805 100644 --- a/ip/iplink.c +++ b/ip/iplink.c @@ -276,11 +276,13 @@ static void iplink_parse_vf_vlan_info(int vf, int *argcp, char ***argvp, { int argc = *argcp; char **argv = *argvp; + unsigned int vci; NEXT_ARG(); - if (get_unsigned(&ivvip->vlan, *argv, 0)) + if (get_unsigned(&vci, *argv, 0) || vci > 4095) invarg("Invalid \"vlan\" value\n", *argv); + ivvip->vlan = vci; ivvip->vf = vf; ivvip->qos = 0; ivvip->vlan_proto = htons(ETH_P_8021Q); -- 2.11.0