From: Grisha Levit Date: Sat, 4 Mar 2023 21:32:56 +0000 (-0500) Subject: tool: dump headers even if file is write-only X-Git-Tag: curl-8_0_0~99 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1dd929674e09093ca6abb069cd84d6b99d350656;p=thirdparty%2Fcurl.git tool: dump headers even if file is write-only 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 --- diff --git a/src/tool_operate.c b/src/tool_operate.c index 804d981d9e..f694f088d6 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -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);