more cleanups
check return of asprintf