From: Viktor Szakats Date: Sun, 21 Sep 2025 19:55:30 +0000 (+0200) Subject: rustls: fix clang-tidy warning X-Git-Tag: rc-8_17_0-2~397 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aa9fa4d68e1f0e059c3df8d01838a650136e6f6f;p=thirdparty%2Fcurl.git rustls: fix clang-tidy warning Seen with v21.1.1, non-debug-enabled build: ``` lib/vtls/rustls.c:415:23: error: File position of the stream might be 'indeterminate' after a failed operation. Can cause undefined behavior [clang-analyzer-unix.Stream,-warnings-as-errors] 415 | const size_t rr = fread(buf, 1, sizeof(buf), f); | ^ ``` Ref: https://github.com/curl/curl/actions/runs/17898248031/job/50887746633?pr=18660#step:11:174 Cherry-picked from #18660 Closes #18670 --- diff --git a/lib/vtls/rustls.c b/lib/vtls/rustls.c index 87c23544ef..e081c4651a 100644 --- a/lib/vtls/rustls.c +++ b/lib/vtls/rustls.c @@ -410,7 +410,7 @@ read_file_into(const char *filename, return 0; } - while(!feof(f)) { + for(;;) { uint8_t buf[256]; const size_t rr = fread(buf, 1, sizeof(buf), f); if(rr == 0 || @@ -418,6 +418,8 @@ read_file_into(const char *filename, fclose(f); return 0; } + if(rr < sizeof(buf)) + break; } return fclose(f) == 0;