diff options
-rw-r--r-- | src/buffer.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/buffer.c b/src/buffer.c index ac9fd155..fbdb2222 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -27,7 +27,7 @@ #include "file.h" #ifndef lint -FILE_RCSID("@(#)$File: buffer.c,v 1.10 2022/09/24 20:30:13 christos Exp $") +FILE_RCSID("@(#)$File: buffer.c,v 1.11 2023/04/02 16:31:54 christos Exp $") #endif /* lint */ #include "magic.h" @@ -69,8 +69,10 @@ buffer_fill(const struct buffer *bb) if (!S_ISREG(b->st.st_mode)) goto out; - b->elen = CAST(size_t, b->st.st_size) < b->flen ? + b->elen = CAST(size_t, b->st.st_size) < b->flen ? CAST(size_t, b->st.st_size) : b->flen; + if (b->elen == 0) + return 0; if ((b->ebuf = malloc(b->elen)) == NULL) goto out; |