X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=util-linux%2Frenice.c;h=a318ffce07e92dc28ce09c4f3b020ddeacf3b620;hb=eb7f9acda147543079f261753a11d2afa340fc5e;hp=70c494b3df8f3e97bcd786c58feac67ffacc76ed;hpb=1a1203ff8909efc003bb6bf679a6afd6628dc179;p=oweals%2Fbusybox.git diff --git a/util-linux/renice.c b/util-linux/renice.c index 70c494b3d..a318ffce0 100644 --- a/util-linux/renice.c +++ b/util-linux/renice.c @@ -6,7 +6,6 @@ * * Licensed under GPLv2 or later, see file LICENSE in this source tree. */ - /* Notes: * Setting an absolute priority was obsoleted in SUSv2 and removed * in SUSv3. However, the common linux version of renice does @@ -19,7 +18,7 @@ * following IDs (if any). Multiple switches are allowed. */ //config:config RENICE -//config: bool "renice (3.8 kb)" +//config: bool "renice (4.2 kb)" //config: default y //config: help //config: Renice alters the scheduling priority of one or more running @@ -40,11 +39,6 @@ //usage: "\n -u Process user names" #include "libbb.h" -#include - -void BUG_bad_PRIO_PROCESS(void); -void BUG_bad_PRIO_PGRP(void); -void BUG_bad_PRIO_USER(void); int renice_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int renice_main(int argc UNUSED_PARAM, char **argv) @@ -59,12 +53,9 @@ int renice_main(int argc UNUSED_PARAM, char **argv) char *arg; /* Yes, they are not #defines in glibc 2.4! #if won't work */ - if (PRIO_PROCESS < CHAR_MIN || PRIO_PROCESS > CHAR_MAX) - BUG_bad_PRIO_PROCESS(); - if (PRIO_PGRP < CHAR_MIN || PRIO_PGRP > CHAR_MAX) - BUG_bad_PRIO_PGRP(); - if (PRIO_USER < CHAR_MIN || PRIO_USER > CHAR_MAX) - BUG_bad_PRIO_USER(); + BUILD_BUG_ON(PRIO_PROCESS < CHAR_MIN || PRIO_PROCESS > CHAR_MAX); + BUILD_BUG_ON(PRIO_PGRP < CHAR_MIN || PRIO_PGRP > CHAR_MAX); + BUILD_BUG_ON(PRIO_USER < CHAR_MIN || PRIO_USER > CHAR_MAX); arg = *++argv; @@ -102,6 +93,7 @@ int renice_main(int argc UNUSED_PARAM, char **argv) /* Process an ID arg. */ if (which == PRIO_USER) { struct passwd *p; + /* NB: use of getpwnam makes it risky to be NOFORK, switch to getpwnam_r? */ p = getpwnam(arg); if (!p) { bb_error_msg("unknown user %s", arg);