Update names.c

Hello.
While making a program using usbip, I found a bug.
When the variable pool_head was free()ed, it has dangling pointer. So, after names_free() called, we can't call names_free() again.
Thanks for reading. 
(Sorry for not fluent English)
test