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 <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2021-06-20 09:02:03 +02:00
parent 25128176c4
commit 9c291f2cc0

View File

@ -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;
}