fix uninitialized warning

Sorry to bother you again, but as I was laying in bed last night I realized that I left a nasty uninitialized warning in my code.

Now, since STDERR is closed, this warning will usually not go anywhere, but I think it's best to fix it anyway.

Speaking of duping STDERR, do you know if the trick I used to save/close/restore it will work on Win32? I'm guessing the caution we're using with external processes is for compatibility reasons.