I know that strtok() is not thread safe, so I am wondering, does it return a memory location to which it keeps a static pointer or does it keep no pointer to the memory location it returns?

I guess what I am really asking is, will I be generating garbage if I do not explicitly free the pointer it returns?

Typically, I would think that answer would be yes, but since strtok() is not threadsafe, that might not be the case.