[...]
- after returning GString's buffer->str, buffer should be freed but it
doesn't (even if it is a static pointer it will make a noise in valgrind report).
I think that is deliberate isn't it? I guess the symbols.c expert better look at it.
Actually I think your change will cause a leak, the code that uses the return from get_symbol_name() copies and does not free the thing returned, which worked ok when it was static, but will leak the new buffer you allocate each time.
It will... Problem goes deeper, at least it shouldn't be const. This was a trick to do not g_free after this call.
-- Best regards, Pavel Roschin aka RPG