Description: Use g_strdup() to pass strings to g_hash_table_insert() Otherwise use-after-free happens soon. Author: Dmitry Borisyuk --- a/fbxkb.c +++ b/fbxkb.c @@ -266,7 +266,6 @@ { GdkPixbuf *flag; static GString *s = NULL; - char tmp[3]; ENTER; g_assert(sym != NULL && strlen(sym) > 1); @@ -281,10 +280,7 @@ flag = gdk_pixbuf_new_from_file_at_size(s->str, 24, 24, NULL); if (!flag) RET(zzflag); - tmp[0] = sym[0]; - tmp[1] = sym[1]; - tmp[2] = 0; - g_hash_table_insert(sym2pix, tmp, flag); + g_hash_table_insert(sym2pix, g_strdup(sym), flag); RET(flag); }