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:33:03 +0000
commitc27534de955370dde2f516d217e4c1bb117d2697 (patch)
treeafbb70368520bd575d3b6f3b871b13212452bfee
parentPost release updates (diff)
downloadgnupg-c27534de955370dde2f516d217e4c1bb117d2697.tar.gz
gnupg-c27534de955370dde2f516d217e4c1bb117d2697.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 d7481fffb..2698431c9 100644
--- a/tools/gpg-check-pattern.c
+++ b/tools/gpg-check-pattern.c
@@ -285,7 +285,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);