RE: [stella] distella source?

Subject: RE: [stella] distella source?
From: "B. Watson" <atari@xxxxxxxxxxxxxx>
Date: Sun, 30 Sep 2001 23:54:19 -0400 (EDT)
On Sun, 30 Sep 2001, dboris wrote:

> 
> It's in the distribution package which you can get here:
> 
> http://members.home.com/rcolbert1/distella.htm
> 
> Dan

at line 732 of distella.c:

                for (charcnt=0;charcnt<15-strlen(nextline);charcnt++)
                    printf(" ");

If strlen(nextline) is >15 at the beginning of this loop, the loop counter
will overflow... printing lots and lots of spaces (MAXINT plus or minus a
few)... On a DOS machine, this is just annoying (you get 65530-something
spaces), but on a Linux machine (or I suppose on a Win32 machine with a
32-bit compiler), it's devastating, since it prints something like 4 billion
spaces!

The only time strlen(maxline) > 15 though, is when disassembling code that
has invalid .NOOP opcodes (x4 and xC). Dunno how common this is, but it
definitely happens when disassembling Super Breakout. On my win98 machine,
I get 65562-byte lines in the output... on my Linux machine, I would get
`disk full' if I sat and waited long enough :)

The easy fix is change the 15 to a 16 and recompile.

Now I have to figure out why it crashes instead of displaying the help, if
you call distella with no arguments (doesn't do that in DOS...)

B.

---

If a trainstation is the place where trains stop, what is a workstation?



-
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/

Current Thread