[git commit] taskset: tighten the check for stride values

Denys Vlasenko vda.linux at googlemail.com
Sat Nov 9 16:32:43 UTC 2019


commit: https://git.busybox.net/busybox/commit/?id=b230fdfa9da2f31e6cc90f90579c6d020c770f86
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
taskset_main                                         986     987      +1

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 util-linux/taskset.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/util-linux/taskset.c b/util-linux/taskset.c
index df1bc0a4f..b542f8c83 100644
--- a/util-linux/taskset.c
+++ b/util-linux/taskset.c
@@ -149,8 +149,8 @@ static void parse_cpulist(ul *mask, unsigned max, char *s)
 		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);
 		}


More information about the busybox-cvs mailing list