taskset: tighten the check for stride values
function old new delta
taskset_main 986 987 +1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/util-linux/taskset.c b/util-linux/taskset.c
index df1bc0a..b542f8c 100644
--- a/util-linux/taskset.c
+++ b/util-linux/taskset.c
@@ -149,8 +149,8 @@
if ((*s != ',' && *s != '\0')
|| bit > end
|| end == UINT_MAX /* bb_strtou returns this on malformed / ERANGE numbers */
- || stride == 0
- || stride == UINT_MAX
+ || (stride - 1) > (UINT_MAX / 4)
+ /* disallow 0, malformed input, and too large stride prone to overflows */
) {
bb_error_msg_and_die("bad affinity '%s'", aff);
}