add missing free()