From 9c291f2cc0e0e76869c315b5c7e7883827b5ae95 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 20 Jun 2021 09:02:03 +0200 Subject: taskset: fix for PID longer than 12 chars Should we validate that PID is a number for "taskset -ap PID"? We don't actually need it, and pathological input like "../../DIR_WITH_LOTS_OF_PIDS" can only cause "taskset"ing of many pids. Which is something user can do anyway. function old new delta taskset_main 190 181 -9 Signed-off-by: Denys Vlasenko --- util-linux/taskset.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/util-linux/taskset.c b/util-linux/taskset.c index abec049..47e9897 100644 --- a/util-linux/taskset.c +++ b/util-linux/taskset.c @@ -346,12 +346,13 @@ int taskset_main(int argc UNUSED_PARAM, char **argv) aff = NULL; if (opts & OPT_a) { - char dn[sizeof("/proc/%s/task") + 3 * sizeof(int)]; + char *dn; DIR *dir; struct dirent *ent; - sprintf(dn, "/proc/%s/task", pid_str); + dn = xasprintf("/proc/%s/task", pid_str); dir = opendir(dn); + IF_FEATURE_CLEAN_UP(free(dn);) if (!dir) { goto no_threads; } -- cgit v1.1