[perl #37657] segfault with binmode ":pop"
authorPeter Dintelmann <Peter.Dintelmann@Dresdner-Bank.com>
Fri, 11 Nov 2005 06:36:20 +0000 (22:36 -0800)
committerSteve Peters <steve@fisharerojo.org>
Sat, 12 Nov 2005 19:46:18 +0000 (19:46 +0000)
From: Peter Dintelmann (via RT) <perlbug-followup@perl.org>
Message-ID: <rt-3.0.11-37657-124293.6.03947871136576@perl.org>

p4raw-id: //depot/perl@26101

perlio.c

index 051c67f..5e1b855 100644 (file)
--- a/perlio.c
+++ b/perlio.c
@@ -1296,9 +1296,10 @@ PerlIO_apply_layers(pTHX_ PerlIO *f, const char *mode, const char *names)
 int
 PerlIO_binmode(pTHX_ PerlIO *f, int iotype, int mode, const char *names)
 {
-    PerlIO_debug("PerlIO_binmode f=%p %s %c %x %s\n",
-                (void*)f, PerlIOBase(f)->tab->name, iotype, mode,
-                (names) ? names : "(Null)");
+    PerlIO_debug("PerlIO_binmode f=%p %s %c %x %s\n", (void*)f,
+                 (PerlIOBase(f)) ? PerlIOBase(f)->tab->name : "(Null)",
+                 iotype, mode, (names) ? names : "(Null)");
+
     if (names) {
        /* Do not flush etc. if (e.g.) switching encodings.
           if a pushed layer knows it needs to flush lower layers