more valgrinding: select problem?
[p5sagit/p5-mst-13.2.git] / pp_ctl.c
index 3c2223a..3c08f22 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1942,7 +1942,6 @@ PP(pp_return)
     }
     PL_stack_sp = newsp;
 
-    LEAVE;
     /* Stack values are safe: */
     if (popsub2) {
        POPSUB(cx,sv);  /* release CV and @_ ... */
@@ -1951,6 +1950,7 @@ PP(pp_return)
        sv = Nullsv;
     PL_curpm = newpm;  /* ... and pop $1 et al */
 
+    LEAVE;
     LEAVESUB(sv);
     if (clear_errsv)
        sv_setpv(ERRSV,"");
@@ -2026,7 +2026,6 @@ PP(pp_last)
     SP = newsp;
     PUTBACK;
 
-    LEAVE;
     /* Stack values are safe: */
     switch (pop2) {
     case CXt_LOOP:
@@ -2039,6 +2038,7 @@ PP(pp_last)
     }
     PL_curpm = newpm;  /* ... and pop $1 et al */
 
+    LEAVE;
     LEAVESUB(sv);
     return nextop;
 }