tr2: leave the parent list empty upon failure & don't leak memory