From: Odin Ugedal Date: Thu, 16 Apr 2020 14:08:14 +0000 (+0200) Subject: tc_util: detect overflow in get_size X-Git-Tag: v5.7.0~36 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e07c57e94e27d2f15bfb9de4db7ca3ab9d9368ed;p=thirdparty%2Fiproute2.git tc_util: detect overflow in get_size This detects overflow during parsing of value using get_size: eg. running: $ tc qdisc add dev lo root cake memlimit 11gb currently gives a memlimit of "3072Mb", while with this patch it errors with 'illegal value for "memlimit": "11gb"', since memlinit is an unsigned integer. Signed-off-by: Odin Ugedal Signed-off-by: Stephen Hemminger --- diff --git a/tc/tc_util.c b/tc/tc_util.c index 5f13d729b..68938fb0c 100644 --- a/tc/tc_util.c +++ b/tc/tc_util.c @@ -385,6 +385,11 @@ int get_size(unsigned int *size, const char *str) } *size = sz; + + /* detect if an overflow happened */ + if (*size != floor(sz)) + return -1; + return 0; }