]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
chrt: validate priority before trying to use it
authorSami Kerola <kerolasa@iki.fi>
Sun, 3 Apr 2016 08:35:29 +0000 (09:35 +0100)
committerKarel Zak <kzak@redhat.com>
Wed, 13 Apr 2016 10:29:16 +0000 (12:29 +0200)
Earlier message:

$ chrt -i 1 ls
chrt: failed to set pid 0's policy: Invalid argument

basically told 'something failed', while the new one tries to be more
helpful.

$ chrt -i 1 ls
chrt: unsupported priority value for the policy: 1: see --max for valid range

Addresses: https://bugs.debian.org/791707
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
schedutils/chrt.c

index 64a58584ff993944229818d0a44eb1e1da6332dc..202ce252684d5aea852030968c3e3ba4bc8a6a0a 100644 (file)
@@ -504,7 +504,11 @@ int main(int argc, char **argv)
 #endif
        if (ctl->pid == -1)
                ctl->pid = 0;
-
+       if (ctl->priority < sched_get_priority_min(ctl->policy) ||
+           sched_get_priority_max(ctl->policy) < ctl->priority)
+               errx(EXIT_FAILURE,
+                    _("unsupported priority value for the policy: %d: see --max for valid range"),
+                    ctl->priority);
        set_sched(ctl);
 
        if (ctl->verbose)