[Gtkradiant] [Bug 1034] New: BufferedTextInputStream segfaults on powerpc

bugzilla-daemon at zerowing.idsoftware.com bugzilla-daemon at zerowing.idsoftware.com
Wed Oct 13 07:24:26 CDT 2004


http://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=1034

           Summary: BufferedTextInputStream segfaults on powerpc
           Product: GtkRadiant
           Version: 1.5
          Platform: Macintosh
        OS/Version: Linux
            Status: NEW
          Severity: major
          Priority: P2
         Component: editor
        AssignedTo: gtkradiant at zerowing.idsoftware.com
        ReportedBy: jaq at spacepants.org


After clicking the OK button when presented with the first dialog asking about
game type, radiant segfaults on line 295 of libs/textstream.h, "return *m_cur++;".

To cut a long story short, the fact that the compiler complains about casting a
negative value to a char is important: c_end shouldn't be negative on powerpc. 
I believe char defaults to unsigned here.   Attached is a patch which changes
c_end to 255, and prevents the segfault.

I believe that this is because any comparisons with c_end fail due to type errors.

This patch, of course, sucks, but it's the least intrusive option.  The best way
to fix this, IMHO, is a BufferedTextInputReader API that doesn't use magic
values to indicated end-of-stream, but I fear the depth that this class'
tentacles may have reached, given that an edit of this one file causes most of
the editor to be recompiled.

-- 
Configure bugmail: http://zerowing.idsoftware.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the Gtkradiant mailing list