#245 cd .. from root directory causes crash

0.63
closed
shell (25)
5
2012-09-07
2005-10-17
Jonathan Felder
No

If I am in the root directory of a drive and I type "cd
.." dosbox crashes with the following error:

Fatal signal: Segmentation Fault (SDL Parachute Deployed)

Bug is reproducable on my system. I Just run dosbox
and type "cd .."

I'm running dosbox 0.63 on SuSE 9.3 for x86_64. I'm
not running any special options for dosbox...I simply
installed the rpm and found that "cd .." from the root
directory crashed dosbox.

rpm package is here:
ftp://mirrors.mathematik.uni-bielefeld.de/pub/suse/apt/SuSE/9.3-x86_64/RPMS.base/dosbox-0.63-3.x86_64.rpm

/proc/cpuinfo is:

processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 43
model name : AMD Athlon(tm) 64 X2 Dual Core
Processor 4600+
stepping : 1
cpu MHz : 1005.157
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8
apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr
sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext
3dnow pni lahf_lm cmp_legacy
bogomips : 2012.37
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 43
model name : AMD Athlon(tm) 64 X2 Dual Core
Processor 4600+
stepping : 1
cpu MHz : 1005.157
cache size : 512 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8
apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr
sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext
3dnow pni lahf_lm cmp_legacy
bogomips : 2012.37
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

Discussion

  • Peter Veenstra
    Peter Veenstra
    2006-01-21

    Logged In: YES
    user_id=535630

    I can't reproduce the bug.
    could you run it in gdb to see where it crashes. Although
    I'm not if rpm come with debug information.

     
  • Ori Avtalion
    Ori Avtalion
    2006-08-04

    Logged In: YES
    user_id=854801

    Using today's cvs, it still crashes.

    backtrace is:

    0 0x0000000000456c03 in DOS_MakeName (name=<value

    optimized out>, fullname=0x7fffff8a8290 "", drive=<value optimized="" out="">) at dos_files.cpp:138

    1 0x0000000000457172 in DOS_ChangeDir (dir=0x7fffff8a8290

    "") at dos_files.cpp:189

    2 0x00000000004f8e1c in DOS_Shell::CMD_CHDIR

    (this=0x2cb1a20, args=0x7fffff8a9403 "..") at shell_cmds.cpp:261

    3 0x00000000004f824c in DOS_Shell::DoCommand

    (this=0x2cb1a20, line=0x7fffff8a9402 " ..") at
    shell_cmds.cpp:109

    4 0x00000000004f4b3b in DOS_Shell::ParseLine

    (this=0x2cb1a20, line=0x7fffff8a9400 "cd ..") at shell.cpp:246

    5 0x00000000004f5faa in DOS_Shell::Run (this=0x2cb1a20) at

    shell.cpp:322

    6 0x00000000004f5619 in SHELL_Init () at shell.cpp:608

    7 0x00000000004a1b3b in main (argc=<value optimized="" out="">,

    argv=<value optimized="" out="">) at sdlmain.cpp:1461

    qbix79, to test try running "cd .." at the dosbox launch
    "Z:>" prompt

     
  • Peter Veenstra
    Peter Veenstra
    2006-08-05

    Logged In: YES
    user_id=535630

    Should be fixed now:
    Index: dos_files.cpp
    ===================================================================
    RCS file: /cvsroot/dosbox/dosbox/src/dos/dos_files.cpp,v
    retrieving revision 1.77
    diff -u -r1.77 dos_files.cpp
    --- dos_files.cpp 18 Jul 2006 15:31:29 -0000 1.77
    +++ dos_files.cpp 5 Aug 2006 10:37:50 -0000
    @@ -122,7 +122,7 @@
    continue;
    }

    • Bit32u iDown, cDots;
    • Bit32s iDown, cDots;
      bool dots = true;
      Bit32u templen =strlen(tempdir);
      for(iDown=0;(iDown < templen) &&
      dots;iDown++)