From: Gurusamy Sarathy Date: Sun, 25 Oct 1998 07:55:43 +0000 (+0000) Subject: fix stack overrun in file test operators X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=22865c0373795c55af29c594dcbe129bba61a1fb;p=p5sagit%2Fp5-mst-13.2.git fix stack overrun in file test operators p4raw-id: //depot/perl@2073 --- diff --git a/pp_sys.c b/pp_sys.c index fe69259..32ce19f 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -2329,11 +2329,13 @@ PP(pp_ftrread) if (result < 0) RETPUSHUNDEF; RETPUSHNO; - } else + } + else result = my_stat(ARGS); #else result = my_stat(ARGS); #endif + SPAGAIN; if (result < 0) RETPUSHUNDEF; if (cando(S_IRUSR, 0, &PL_statcache)) @@ -2353,11 +2355,13 @@ PP(pp_ftrwrite) if (result < 0) RETPUSHUNDEF; RETPUSHNO; - } else + } + else result = my_stat(ARGS); #else result = my_stat(ARGS); #endif + SPAGAIN; if (result < 0) RETPUSHUNDEF; if (cando(S_IWUSR, 0, &PL_statcache)) @@ -2377,11 +2381,13 @@ PP(pp_ftrexec) if (result < 0) RETPUSHUNDEF; RETPUSHNO; - } else + } + else result = my_stat(ARGS); #else result = my_stat(ARGS); #endif + SPAGAIN; if (result < 0) RETPUSHUNDEF; if (cando(S_IXUSR, 0, &PL_statcache)) @@ -2401,11 +2407,13 @@ PP(pp_fteread) if (result < 0) RETPUSHUNDEF; RETPUSHNO; - } else + } + else result = my_stat(ARGS); #else result = my_stat(ARGS); #endif + SPAGAIN; if (result < 0) RETPUSHUNDEF; if (cando(S_IRUSR, 1, &PL_statcache)) @@ -2425,11 +2433,13 @@ PP(pp_ftewrite) if (result < 0) RETPUSHUNDEF; RETPUSHNO; - } else + } + else result = my_stat(ARGS); #else result = my_stat(ARGS); #endif + SPAGAIN; if (result < 0) RETPUSHUNDEF; if (cando(S_IWUSR, 1, &PL_statcache)) @@ -2449,11 +2459,13 @@ PP(pp_fteexec) if (result < 0) RETPUSHUNDEF; RETPUSHNO; - } else + } + else result = my_stat(ARGS); #else result = my_stat(ARGS); #endif + SPAGAIN; if (result < 0) RETPUSHUNDEF; if (cando(S_IXUSR, 1, &PL_statcache))