#255 Batch file that calls itself locks up DosBox hard

shell (25)
Justin Kerk

If a batch file calls itself (causing an infinite
loop), DosBox immediately freezes and will not repaint
the GUI or respond to the window controls. Moreover,
the overall system freezes to a crawl until DosBox
eventually crashes (maybe it runs out of stack space?).

By contrast, running the same batch file in a Windows
cmd prompt results in a scrolling display of the batch
file name (because echo is on) which does not freeze
the UI or hog the system, and which can be aborted with

To demonstrate the problem, create a file evil.bat with
the following contents:


And then mount it in DosBox and type "evil". Although
this is a contrived example, the reason I discovered
this was trying to run King's Quest 1, which includes a
kq1.bat that issues the following commands:

cd \sierra\kq1
kq1 %1 %2 %3 %4 %5

In DosBox, the game is not in c:\sierra\kq1 so the cd
fails and the kq1 line ends up calling kq1.bat again
and not kq1\kq1.com as intended, so this bug is triggered.

This happens with both the 0.63 release and the 0.65rc1
release candidate. Tested with Windows XP.