Prevent a potential null pointer dereference.
Rafael Garcia-Suarez [Wed, 4 Jun 2003 18:53:48 +0000 (18:53 +0000)]
Noticed by Ryan Koga <rkoga@caida.org> in
Message-ID: <Pine.BSF.4.44.0306031659090.1489-100000@login.caida.org>

p4raw-id: //depot/perl@19688

perlio.c

index dcd2f66..91db1e1 100644 (file)
--- a/perlio.c
+++ b/perlio.c
@@ -3323,10 +3323,11 @@ PerlIO_exportFILE(PerlIO * f, const char *mode)
        stdio = PerlSIO_fdopen(PerlIO_fileno(f), mode);
        if (stdio) {
            PerlIOl *l = *f;
+           PerlIO *f2;
            /* De-link any lower layers so new :stdio sticks */
            *f = NULL;
-           if ((f = PerlIO_push(aTHX_ f, &PerlIO_stdio, buf, Nullsv))) {
-               PerlIOStdio *s = PerlIOSelf(f, PerlIOStdio);
+           if ((f2 = PerlIO_push(aTHX_ f, &PerlIO_stdio, buf, Nullsv))) {
+               PerlIOStdio *s = PerlIOSelf((f = f2), PerlIOStdio);
                s->stdio = stdio;
                /* Link previous lower layers under new one */
                *PerlIONext(f) = l;