Hiroshi Ito writes:
authorEric Andersen <andersen@codepoet.org>
Fri, 8 Oct 2004 08:14:58 +0000 (08:14 -0000)
committerEric Andersen <andersen@codepoet.org>
Fri, 8 Oct 2004 08:14:58 +0000 (08:14 -0000)
ash
   "unset OLDPWD; cd -"  causes segmentation fault.
    ( OLDPWD is not set when sh is invoked from getty. )

patch against current CVS is attached.

shell/ash.c

index f82a77258632ccc5b34fa68f888ddf8a45dabec3..a5929044b49a2de2d5e20e38f31c5c3f90066435 100644 (file)
@@ -2316,6 +2316,7 @@ cdcmd(int argc, char **argv)
                dest = bltinlookup(homestr);
        else if (dest[0] == '-' && dest[1] == '\0') {
                dest = bltinlookup("OLDPWD");
+               if ( !dest ) goto out;
                flags |= CD_PRINT;
                goto step7;
        }