[Freeciv-Dev] (PR#37965) Crash in gtk help dialog

2007-03-11 Thread Marko Lindqvist

URL: http://bugs.freeciv.org/Ticket/Display.html?id=37965 

 I were using modified rulesets and tilesets at the time. I were
looking help for techs and clicked new tech.

0x004fa356 in set_title_topic (
topic=0xfff8ffff Address 0xfff8ffff out of bounds)
at ../../../src.patched/client/gui-gtk-2.0/helpdlg.c:127
127   if (strcmp(topic, Freeciv) == 0 || strcmp(topic, About) == 0
(gdb) bt full
#0  0x004fa356 in set_title_topic (
topic=0xfff8ffff Address 0xfff8ffff out of bounds)
at ../../../src.patched/client/gui-gtk-2.0/helpdlg.c:127
No locals.
#1  0x004fde90 in help_update_dialog (pitem=0xc5c4c0)
at ../../../src.patched/client/gui-gtk-2.0/helpdlg.c:1187
i = 11106
top = 0x1c5c4e1 Construction
#2  0x004fabb0 in activated_topic (view=0x14233b0, data=0x0)
at ../../../src.patched/client/gui-gtk-2.0/helpdlg.c:395
path = (GtkTreePath *) 0x19d3cb0
col = (GtkTreeViewColumn *) 0x142fb00
model = (GtkTreeModel *) 0x1a6bdf0
it = {stamp = -1447361622, user_data = 0x1a09780,
  user_data2 = 0x0, user_data3 = 0x0}
pitem = (struct help_item *) 0x1c5c4c0
#3  0x2b6263e5e479 in g_closure_invoke ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#4  0x2b6263e6dae1 in g_signal_chain_from_overridden ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#5  0x2b6263e6ed95 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#6  0x2b6263e6ef73 in g_signal_emit ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#7  0x2b626289b756 in gtk_tree_view_scroll_to_cell ()
   from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#8  0x2b62628a6edd in _gtk_tree_view_column_autosize ()
   from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#9  0x2b62627e064d in _gtk_marshal_BOOLEAN__BOXED ()
   from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#10 0x2b6263e5e479 in g_closure_invoke ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#11 0x2b6263e6dc7f in g_signal_chain_from_overridden ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#12 0x2b6263e6eb5e in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#13 0x2b6263e6ef73 in g_signal_emit ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#14 0x2b62628b6e4e in gtk_widget_get_default_style ()
   from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#15 0x2b62627da2ae in gtk_propagate_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#16 0x2b62627db357 in gtk_main_do_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#17 0x2b6262b2252c in _gdk_events_init ()
   from /usr/lib/libgdk-x11-2.0.so.0
No symbol table info available.
#18 0x2b62641c7913 in g_main_context_dispatch ()
   from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#19 0x2b62641ca75d in g_main_context_check ()
   from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#20 0x2b62641caa46 in g_main_loop_run ()
   from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#21 0x2b62627db6b2 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#22 0x004f686a in ui_main (argc=1, argv=0x7fff4850ec88)
at ../../../src.patched/client/gui-gtk-2.0/gui_main.c:1437
home = (const gchar *) 0x792fa0 /home/cazfi
sig = 24
style = (GtkStyle *) 0x9febd0
#23 0x00415332 in main (argc=1, argv=0x7fff4850ec88)
at ../../src.patched/client/civclient.c:357
i = 3
loglevel = 2
ui_options = 0
ui_separator = false
option = 0x7371b0 �
user_tileset = true


 - ML



___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev


Re: [Freeciv-Dev] (PR#37965) Crash in gtk help dialog

2007-03-11 Thread Marko Lindqvist

URL: http://bugs.freeciv.org/Ticket/Display.html?id=37965 

 This was memory corruption problem. Attached patch fixes one memory
bug, which was likely cause to the crash (I managed to reproduce it a
couple of times before, but not with this patch)


 - ML

diff -Nurd -X.diff_ignore freeciv/client/helpdata.c freeciv/client/helpdata.c
--- freeciv/client/helpdata.c	2007-03-10 19:42:05.0 +0200
+++ freeciv/client/helpdata.c	2007-03-11 22:27:02.0 +0200
@@ -1112,7 +1112,7 @@
   }
 
   sprintf(buf + strlen(buf), \n);
-  insert_allows(source, buf + strlen(buf), bufsz);
+  insert_allows(source, buf + strlen(buf), bufsz - strlen(buf));
 
   if (tech_flag(i, TF_BONUS_TECH)) {
 sprintf(buf + strlen(buf), _(* The first player to research %s gets 
___
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev