aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
Diffstat (limited to 'libbb')
-rw-r--r--libbb/messages.c4
-rw-r--r--libbb/setup_environment.c7
2 files changed, 5 insertions, 6 deletions
diff --git a/libbb/messages.c b/libbb/messages.c
index 16aaea553..9f62b9b0d 100644
--- a/libbb/messages.c
+++ b/libbb/messages.c
@@ -40,6 +40,10 @@ const char bb_path_motd_file[] = "/etc/motd";
const char bb_dev_null[] = "/dev/null";
const char bb_busybox_exec_path[] = CONFIG_BUSYBOX_EXEC_PATH;
const char bb_default_login_shell[] = LIBBB_DEFAULT_LOGIN_SHELL;
+/* util-linux manpage says /sbin:/bin:/usr/sbin:/usr/bin,
+ * but I want to save a few bytes here. Check libbb.h before changing! */
+const char bb_default_root_login_path[] = "/sbin:/usr/sbin:/bin:/usr/bin";
+
const int const_int_0;
const int const_int_1 = 1;
diff --git a/libbb/setup_environment.c b/libbb/setup_environment.c
index 18d5a0610..a98b9a5bd 100644
--- a/libbb/setup_environment.c
+++ b/libbb/setup_environment.c
@@ -30,11 +30,6 @@
#include "libbb.h"
-/* util-linux manpage says /sbin:/bin:/usr/sbin:/usr/bin,
- * but I want to save a few bytes here */
-static const char DEFAULT_ROOT_LOGIN_PATH[] = "/sbin:/usr/sbin:/bin:/usr/bin";
-#define DEFAULT_LOGIN_PATH (DEFAULT_ROOT_LOGIN_PATH + sizeof("/sbin:/usr/sbin"))
-
void setup_environment(const char *shell, int loginshell, int changeenv, const struct passwd *pw)
{
if (loginshell) {
@@ -61,7 +56,7 @@ void setup_environment(const char *shell, int loginshell, int changeenv, const s
xsetenv("SHELL", shell);
xsetenv("USER", pw->pw_name);
xsetenv("LOGNAME", pw->pw_name);
- xsetenv("PATH", (pw->pw_uid ? DEFAULT_LOGIN_PATH : DEFAULT_ROOT_LOGIN_PATH));
+ xsetenv("PATH", (pw->pw_uid ? bb_default_login_path : bb_default_root_login_path));
}
else if (changeenv) {
/* Set HOME, SHELL, and if not becoming a super-user,