I have a simple program that uses glib list where I have a function which returns the list to the calling function
.here in the called function i have decleared another
Like TingPing mentioned, strtok_r doesn't allocate any memory, so no you don't need to free it.
strtok_r
If you did need to free it (for example if you were to strdup the value from strtok_r) then you would most likely want to use g_slist_free_full.
strdup