From f112cc14b9af2a2754ad1bcaa77c65a1ccaa3954 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Thu, 9 Aug 2001 09:47:53 +0000
Subject: [PATCH] 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

---
 src/main.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/main.c b/src/main.c
index 9c59ab3d48..8e3a7a383a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1963,11 +1963,6 @@ operate(struct Configurable *config, int argc, char *argv[])
         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 @@ operate(struct Configurable *config, int argc, char *argv[])
   /* 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;
-- 
GitLab