From 105a72fd53c2fbfd9f66cf23f365b604f016772b Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Mon, 23 Jun 2025 15:16:01 -0500 Subject: [PATCH] Jesse Rosenstock pointed out that long masks would run past toybuf. --- tests/taskset.test | 6 ++++++ toys/other/taskset.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/taskset.test b/tests/taskset.test index 39bee16b..acd2869f 100755 --- a/tests/taskset.test +++ b/tests/taskset.test @@ -8,6 +8,7 @@ CPUS=$(($(nproc)+0)) if [ $CPUS -lt 2 ] then echo "$SHOWSKIP: taskset (not SMP)" + return 2 > /dev/null exit fi MASK=$(printf %x $(((1</dev/null; echo $?' '1\n' '' '' diff --git a/toys/other/taskset.c b/toys/other/taskset.c index a3d0ffb3..cc33d94e 100644 --- a/toys/other/taskset.c +++ b/toys/other/taskset.c @@ -68,7 +68,7 @@ static void do_taskset(pid_t pid, int quiet) // Convert hex strong to mask[] bits memset(toybuf, 0, sizeof(toybuf)); - k = strlen(s = *toys.optargs); + k = minof(strlen(s = *toys.optargs), 2*sizeof(toybuf)); s += k; for (j = 0; j