From 147fa0689124e7b5a61afea2e7db673d8c89934f Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 6 Dec 2019 17:24:52 +0100 Subject: curl: make the etag load logic work without fseek The fseek()s were unnecessary and caused Coverity warning CID 1456554 Closes #4681 --- src/tool_operate.c | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/tool_operate.c b/src/tool_operate.c index e78cc4fd2..4c9b07e39 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -922,7 +922,6 @@ static CURLcode single_transfer(struct GlobalConfig *global, if(config->etag_compare_file) { char *etag_from_file = NULL; char *header = NULL; - size_t file_size = 0; /* open file for reading: */ FILE *file = fopen(config->etag_compare_file, FOPEN_READTEXT); @@ -935,23 +934,11 @@ static CURLcode single_transfer(struct GlobalConfig *global, break; } - /* get file size */ - fseek(file, 0, SEEK_END); - file_size = ftell(file); - - /* - * check if file is empty, if it's not load etag - * else continue with empty etag - */ - if(file_size != 0) { - fseek(file, 0, SEEK_SET); - file2string(&etag_from_file, file); - + if((PARAM_OK == file2string(&etag_from_file, file)) && + etag_from_file) header = aprintf("If-None-Match: \"%s\"", etag_from_file); - } - else { + else header = aprintf("If-None-Match: \"\""); - } if(!header) { warnf( -- cgit v1.2.3