summaryrefslogtreecommitdiff
path: root/applets/applets.c
diff options
context:
space:
mode:
authorDenis Vlasenko2007-08-25 18:25:24 +0000
committerDenis Vlasenko2007-08-25 18:25:24 +0000
commit737d131e5e7a795ef771f987d7b02cbf4fa670d6 (patch)
tree0a7acc833d9ee4fa873ec4c15ff60b692bef420e /applets/applets.c
parent52226771760063acdc89ef4f8e531b595ae4232b (diff)
downloadbusybox-737d131e5e7a795ef771f987d7b02cbf4fa670d6.zip
busybox-737d131e5e7a795ef771f987d7b02cbf4fa670d6.tar.gz
support "#!/bin/busybox"-style wrappers. Needed for SELinux.
Patch by Yuichi Nakamura <ynakam@hitachisoft.jp>
Diffstat (limited to 'applets/applets.c')
-rw-r--r--applets/applets.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/applets/applets.c b/applets/applets.c
index 6de6db3..c2040b9 100644
--- a/applets/applets.c
+++ b/applets/applets.c
@@ -600,9 +600,10 @@ static int busybox_main(char **argv)
/* "busybox <applet> arg1 arg2 ..." */
argv++;
}
- /* we want "<argv[0]>: applet not found", not "busybox: ..." */
- applet_name = argv[0];
- run_applet_and_exit(argv[0], argv);
+ /* We support "busybox /a/path/to/applet args..." too. Allows for
+ * "#!/bin/busybox"-style wrappers */
+ applet_name = bb_get_last_path_component(argv[0]);
+ run_applet_and_exit(applet_name, argv);
bb_error_msg_and_die("applet not found");
}