small cleanup, add missing free() call