[Gtkradiant] Bug with libs/ddslib/ddslib.c lines 693 to 723 on 64 bit systems.

Ciaran Gillespie ciaran.gillespie at gmail.com
Wed Jan 16 17:40:16 CST 2008


On a 64 bit Linux system this function will segfault. It makes Quake 4 level
editing impossible. GTKRadiant will sometimes segfault when I try to
selected any of the texture sets. If it does not segfault the textures
will not look correct, lots of colored artifacts. I debugged it, and
found the problem spot, but am not skilled enough to fix it.

It look like the code assumes that both the pointer of unsigned char
*in, and unsigned char *out will be the same bit size, but in 64 bit I
believe this is creating the problem.

The pointer *in hits an address that is out of bounds, and then it segfaults.

Here is the function, I've comment the line is segfaults at.

I'm not sure exactly what is really going on here, because I'm not a
developer of gtkradiant. I've tried to fix it my self, but still no
luck. It may be something higher is causing the bug. Something someone
better skilled might be able to spot much faster.



More information about the Gtkradiant mailing list