fixed strndup -> g_strndup using free -> g_free