summaryrefslogtreecommitdiff
path: root/coreutils/expr.c
diff options
context:
space:
mode:
authorDenys Vlasenko2017-08-07 23:23:18 +0200
committerDenys Vlasenko2017-08-07 23:23:18 +0200
commitaf5d0086694b9c9b7cbf896e49e1997ec7039904 (patch)
tree88e96ff8e145a57ca585decd0bd6c0bd0f0adabf /coreutils/expr.c
parentec98e3a628b06f6cb8823e5197dcd413113d7ed6 (diff)
downloadbusybox-af5d0086694b9c9b7cbf896e49e1997ec7039904.zip
busybox-af5d0086694b9c9b7cbf896e49e1997ec7039904.tar.gz
expr: make it NOEXEC
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils/expr.c')
-rw-r--r--coreutils/expr.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/coreutils/expr.c b/coreutils/expr.c
index a2bbfdd..e54afbb 100644
--- a/coreutils/expr.c
+++ b/coreutils/expr.c
@@ -38,7 +38,7 @@
//config: the applet slightly larger, but will allow computation with very
//config: large numbers.
-//applet:IF_EXPR(APPLET(expr, BB_DIR_USR_BIN, BB_SUID_DROP))
+//applet:IF_EXPR(APPLET_NOEXEC(expr, expr, BB_DIR_USR_BIN, BB_SUID_DROP, expr))
//kbuild:lib-$(CONFIG_EXPR) += expr.o
@@ -118,7 +118,10 @@ struct globals {
char **args;
} FIX_ALIASING;
#define G (*(struct globals*)bb_common_bufsiz1)
-#define INIT_G() do { setup_common_bufsiz(); } while (0)
+#define INIT_G() do { \
+ setup_common_bufsiz(); \
+ /* NB: noexec applet - globals not zeroed */ \
+} while (0)
/* forward declarations */
static VALUE *eval(void);