The redirected error stream was closed before curl_easy_cleanup() was made,
and when VERBOSE was enabled, that used the stream. Also, the stream was
closed even if we looped to get more files.
Corrects Dustin Boswell's bug report #441610
diff --git a/src/main.c b/src/main.c
index 9c59ab3..8e3a7a3 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1963,11 +1963,6 @@
         fprintf(config->errors, "curl: (%d) %s\n", res, errorbuffer);
 #endif
 
-      if((config->errors != stderr) &&
-         (config->errors != stdout))
-        /* it wasn't directed to stdout or stderr so close the file! */
-        fclose(config->errors);
-    
       if(config->headerfile && !headerfilep && heads.stream)
         fclose(heads.stream);
 
@@ -2012,6 +2007,11 @@
   /* cleanup the curl handle! */
   curl_easy_cleanup(curl);
 
+  if((config->errors != stderr) &&
+     (config->errors != stdout))
+    /* it wasn't directed to stdout or stderr so close the file! */
+    fclose(config->errors);
+
   main_free(); /* cleanup */
 
   return res;