]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
tool: dump headers even if file is write-only
authorGrisha Levit <grishalevit@gmail.com>
Sat, 4 Mar 2023 21:32:56 +0000 (16:32 -0500)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 6 Mar 2023 10:14:37 +0000 (11:14 +0100)
The fixes in #10079 brought a (seemingly unrelated) change of open mode
from `wb`/`ab` to `wb+`/`ab+` for the headerfile. This makes it no
longer possible to write the header file to e.g. a pipe, like:

    curl -D >(grep ...) file:///dev/null

Which presently results in `Warning: Failed to open /dev/fd/63`

See #10079
Closes #10675

src/tool_operate.c

index 804d981d9ee46601697b767669572bb5a6a94261..f694f088d683fbe7084b2588e9d7ebbd5d6f383c 100644 (file)
@@ -983,11 +983,11 @@ static CURLcode single_transfer(struct GlobalConfig *global,
              * for every transfer.
              */
             if(!per->prev || per->prev->config != config) {
-              newfile = fopen(config->headerfile, "wb+");
+              newfile = fopen(config->headerfile, "wb");
               if(newfile)
                 fclose(newfile);
             }
-            newfile = fopen(config->headerfile, "ab+");
+            newfile = fopen(config->headerfile, "ab");
 
             if(!newfile) {
               errorf(global, "Failed to open %s\n", config->headerfile);