I think that changing the panic() with a return would be dangerous, but was thinking on trying that, since it could be that the buffer is indeed unused after the first mbfree. If I try it and this crazy idea (surprisingly) works, I'll drop a line to the list.