diff options
-rw-r--r-- | runit/chpst.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/runit/chpst.c b/runit/chpst.c index 846c846d3..ee3a33153 100644 --- a/runit/chpst.c +++ b/runit/chpst.c | |||
@@ -463,6 +463,13 @@ int chpst_main(int argc UNUSED_PARAM, char **argv) | |||
463 | xchroot(root); | 463 | xchroot(root); |
464 | } | 464 | } |
465 | 465 | ||
466 | /* nice should be done before xsetuid */ | ||
467 | if (opt & OPT_n) { | ||
468 | errno = 0; | ||
469 | if (nice(xatoi(nicestr)) == -1) | ||
470 | bb_perror_msg_and_die("nice"); | ||
471 | } | ||
472 | |||
466 | if (opt & OPT_u) { | 473 | if (opt & OPT_u) { |
467 | if (setgroups(1, &ugid.gid) == -1) | 474 | if (setgroups(1, &ugid.gid) == -1) |
468 | bb_perror_msg_and_die("setgroups"); | 475 | bb_perror_msg_and_die("setgroups"); |
@@ -470,12 +477,6 @@ int chpst_main(int argc UNUSED_PARAM, char **argv) | |||
470 | xsetuid(ugid.uid); | 477 | xsetuid(ugid.uid); |
471 | } | 478 | } |
472 | 479 | ||
473 | if (opt & OPT_n) { | ||
474 | errno = 0; | ||
475 | if (nice(xatoi(nicestr)) == -1) | ||
476 | bb_perror_msg_and_die("nice"); | ||
477 | } | ||
478 | |||
479 | if (opt & OPT_0) | 480 | if (opt & OPT_0) |
480 | close(STDIN_FILENO); | 481 | close(STDIN_FILENO); |
481 | if (opt & OPT_1) | 482 | if (opt & OPT_1) |