[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200415143936.18924-4-odin@ugedal.com>
Date:   Wed, 15 Apr 2020 16:39:36 +0200
From:   Odin Ugedal <odin@...dal.com>
To:     toke@...hat.com, netdev@...r.kernel.org
Cc:     Odin Ugedal <odin@...dal.com>
Subject: [PATCH 3/3] q_cake: detect overflow in get_size
This detects overflow during parsing of value:
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 <odin@...dal.com>
---
 tc/tc_util.c | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/tc/tc_util.c b/tc/tc_util.c
index 5f13d729..68938fb0 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;
 }
 
-- 
2.26.1
Powered by blists - more mailing lists
 
