Fix cleanup on auth helper bail
The execute method had some early returns, we need to restore priveledges, close any FDs and free the structs we made.
base_fd appeared to be leaking even without the early return.
It's not ideal, I don't see why we're creating this Priveledge struct on the heap to begin with, but I didn't want to touch things too much. Long term it should probably be a class that could then do the operations itself then cleanup on destruct.