bail: is almost a hundred lines away.  just call free() directly and return from here.