Re: [perl #32687] Encode::is_utf8 on tainted UTF8 string
[p5sagit/p5-mst-13.2.git] / pp_sys.c
index c35fb5b..5693d50 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -437,6 +437,7 @@ PP(pp_warn)
     else if (SP == MARK) {
        tmpsv = &PL_sv_no;
        EXTEND(SP, 1);
+       SP = MARK + 1;
     }
     else {
        tmpsv = TOPs;
@@ -3441,15 +3442,14 @@ PP(pp_chdir)
 #ifdef HAS_FCHDIR
        IO* const io = GvIO(gv);
        if (io) {
-           if (IoIFP(io)) {
-               PUSHi(fchdir(PerlIO_fileno(IoIFP(io))) >= 0);
-           }
-           else if (IoDIRP(io)) {
+           if (IoDIRP(io)) {
 #ifdef HAS_DIRFD
                PUSHi(fchdir(dirfd(IoDIRP(io))) >= 0);
 #else
                DIE(aTHX_ PL_no_func, "dirfd");
 #endif
+           } else if (IoIFP(io)) {
+                PUSHi(fchdir(PerlIO_fileno(IoIFP(io))) >= 0);
            }
            else {
                if (ckWARN2(WARN_UNOPENED,WARN_CLOSED))