Safe fix for Simon's pclose() doing SvIVX of undef -> core bug.
Nick Ing-Simmons [Wed, 10 Jan 2001 21:29:19 +0000 (21:29 +0000)]
p4raw-id: //depot/perlio@8399

util.c

diff --git a/util.c b/util.c
index 1261b98..27c6953 100644 (file)
--- a/util.c
+++ b/util.c
@@ -2663,7 +2663,7 @@ Perl_my_pclose(pTHX_ PerlIO *ptr)
     LOCK_FDPID_MUTEX;
     svp = av_fetch(PL_fdpid,PerlIO_fileno(ptr),TRUE);
     UNLOCK_FDPID_MUTEX;
-    pid = SvIVX(*svp);
+    pid = (SvTYPE(*svp) == SVt_IV) ? SvIVX(*svp) : -1;
     SvREFCNT_dec(*svp);
     *svp = &PL_sv_undef;
 #ifdef OS2