aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2024-03-13 14:32:10 +0000
committerWerner Koch <[email protected]>2024-03-13 14:32:10 +0000
commit509d0f76cedd646909fe3c86cd930f02f2af2caa (patch)
tree8067ec19f3f16bcc69d63dde5b3e90918a6a72fd
parentwks: Make gpg-wks-client --mirror work w/o args. (diff)
downloadgnupg-509d0f76cedd646909fe3c86cd930f02f2af2caa.tar.gz
gnupg-509d0f76cedd646909fe3c86cd930f02f2af2caa.zip
gpg-check-pattern: Consider an empty pattern file as valid
* tools/gpg-check-pattern.c (read_file): Check length before calling fread. -- The problem with an empty file is that es_fread is called to read one element of length zero which seems to be undefined behaviour and results in ENOENT on my test box.
-rw-r--r--tools/gpg-check-pattern.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/gpg-check-pattern.c b/tools/gpg-check-pattern.c
index 77176cc17..c2e3b5fd9 100644
--- a/tools/gpg-check-pattern.c
+++ b/tools/gpg-check-pattern.c
@@ -286,7 +286,7 @@ read_file (const char *fname, size_t *r_length)
buflen = st.st_size;
buf = xmalloc (buflen+1);
- if (es_fread (buf, buflen, 1, fp) != 1)
+ if (buflen && es_fread (buf, buflen, 1, fp) != 1)
{
log_error ("error reading '%s': %s\n", fname, strerror (errno));
es_fclose (fp);