Hi all.
The trouble is caused by unsafe usage of `strncpy' and long strings in
Russian localization. I found that the stack overflow is caused by the
following code (geany-plugins/geanygdb/src/gdb-ui-main.c : 366)
-------------------- 8< --------------------
if (text && disable_mnemonics)
{
gchar *p;
gchar buf[32];
strncpy(buf, text, sizeof(buf));
for (p = buf; *p; p++)
{
if (*p == '_')
{
memmove(p, p + 1, strlen(p));
}
}
text = buf;
}
-------------------- 8< --------------------
Obviously, 32 chars are enough for English localisation, but not for
Russian one (which I am using). Quick fix:
...
gchar buf[64];
strncpy(buf, text, sizeof(buf)-1);
buf[sizeof(buf)-1] = '\0';
...
BTW, those memmove() and strlen() in cycle are quite inefficient and
ugly ;-)
Best regards,
Eugene.