From: Stephen Hemminger Date: Fri, 15 Dec 2017 02:17:43 +0000 (-0800) Subject: ip: validate vlan value for vlan info X-Git-Tag: v4.15.0~68 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ae8e1cb83bf86f7474350f73f2ef323273969f71;p=thirdparty%2Fiproute2.git ip: validate vlan value for vlan info The VLAN tag must be 0..4095 to be valid. Better to trap it here. Signed-off-by: Stephen Hemminger --- diff --git a/ip/iplink.c b/ip/iplink.c index e83f1477e..1e685cc23 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);