summaryrefslogtreecommitdiff
path: root/toke.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-02-03 20:10:07 +0000
committerNicholas Clark <nick@ccl4.org>2006-02-03 20:10:07 +0000
commitcdd8118e49c05b43bd2785d9a269d538a4e8fe8c (patch)
tree6e86ada5031bbb46f241f733353a59057d1e0af0 /toke.c
parentd0bafe7e795ead5473180e3aa70c1cfa0938c0fd (diff)
downloadperl-cdd8118e49c05b43bd2785d9a269d538a4e8fe8c.tar.gz
Eliminating PL_suidscript is more tricky, and requires changing the
prototype of Perl_moreswitches. p4raw-id: //depot/perl@27070
Diffstat (limited to 'toke.c')
-rw-r--r--toke.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/toke.c b/toke.c
index 8f01720491..df89130abe 100644
--- a/toke.c
+++ b/toke.c
@@ -3008,7 +3008,12 @@ Perl_yylex(pTHX)
Perl_croak(aTHX_ "Too late for \"-%.*s\" option",
(int)(d - m), m);
}
- d = moreswitches(d);
+ /* Given that these switches are within the script,
+ then it is not unsafe to allow them even within
+ a suidperl fd script. Hence pass in the
+ suidscript flag as -1, irrespective of what we
+ really are. */
+ d = moreswitches(d, -1);
} while (d);
if (PL_doswitches && !switches_done) {
int argc = PL_origargc;