diff options
author | Werner Koch <[email protected]> | 2024-03-13 14:32:10 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2024-03-13 14:32:10 +0000 |
commit | 509d0f76cedd646909fe3c86cd930f02f2af2caa (patch) | |
tree | 8067ec19f3f16bcc69d63dde5b3e90918a6a72fd | |
parent | wks: Make gpg-wks-client --mirror work w/o args. (diff) | |
download | gnupg-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.c | 2 |
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); |