[Geany] Crash in compare_symbol()

Jeff Pohlmeyer yetanothergeek at xxxxx
Tue Jul 31 08:46:00 UTC 2007


I just ran into a (probably rare) crash bug in Geany.

If I try to switch Document->Set Encoding from "Unicode->UTF-8"
to "Without encoding" , then the next time I save the document
I get a segfault. It looks like it happens when Geany tries to
rebuild the tags...



Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1219221808 (LWP 30632)]
0xb75d8f91 in strcmp () from /lib/libc.so.6

(gdb) bt
#0  0xb75d8f91 in strcmp () from /lib/libc.so.6
#1  0x080c5e8e in compare_symbol (a=0x84ed040, b=0x84ed030) at symbols.c:311
....
....
....
#37 0x080b2581 in main (argc=12, argv=0xbfe97994) at main.c:769

(gdb) frame 1
#1  0x080c5e8e in compare_symbol (a=0x84ed040, b=0x84ed030) at symbols.c:311
311             ret = strcmp(a->str, b->str);

(gdb) print a->str
$1 = (gchar *) 0x0

(gdb) print b->str
$2 = (gchar *) 0x0


As you can see, compare_symbol() calls strcmp(0x0,0x0) but I don't
know enough about what's happening to know if it's OK just to check
if ( a->str && b->str ) else return 0, or maybe there is a problem
with the upstream code that this should never happen anyway.


It's not a big problem for me since I rarely need to change the
encoding options, but I thought it should at least be noted here.

 - Jeff



More information about the Users mailing list