diff options
author | Werner Koch <[email protected]> | 2024-03-13 14:32:10 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2024-03-13 14:33:03 +0000 |
commit | c27534de955370dde2f516d217e4c1bb117d2697 (patch) | |
tree | afbb70368520bd575d3b6f3b871b13212452bfee | |
parent | Post release updates (diff) | |
download | gnupg-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.c | 2 |
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); |