summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/buffer.c6
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;