From 4e756d7f9fd1b32b545ce8c43120dc733653b52f Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Tue, 10 May 2016 03:26:02 -0500 Subject: Use CFG_TOYBOX_NORECURSE to avoid all that tedious mucking about with hyperspace stack measuring in ways that confuse security stuff. --- main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'main.c') diff --git a/main.c b/main.c index 14c4ff71..eeae2f39 100644 --- a/main.c +++ b/main.c @@ -140,7 +140,8 @@ void toy_exec(char *argv[]) // Compiler writers have decided subtracting char * is undefined behavior, // so convert to integers. (LP64 says sizeof(long)==sizeof(pointer).) - if (toys.stacktop && labs((long)toys.stacktop-(long)&which)>6000) return; + if (!CFG_TOYBOX_NORECURSE) + if (toys.stacktop && labs((long)toys.stacktop-(long)&which)>6000) return; // Return if we need to re-exec to acquire root via suid bit. if (toys.which && (which->flags&TOYFLAG_ROOTONLY) && toys.wasroot) return; -- cgit v1.2.3