about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/stdio/fread.c1
-rw-r--r--src/stdio/fwrite.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/stdio/fread.c b/src/stdio/fread.c
index 33a65f58..aef75f73 100644
--- a/src/stdio/fread.c
+++ b/src/stdio/fread.c
@@ -7,6 +7,7 @@ size_t fread(void *restrict destv, size_t size, size_t nmemb, FILE *restrict f)
 {
 	unsigned char *dest = destv;
 	size_t len = size*nmemb, l = len, k;
+	if (!size) nmemb = 0;
 
 	FLOCK(f);
 
diff --git a/src/stdio/fwrite.c b/src/stdio/fwrite.c
index fa30c0d3..7a567b2c 100644
--- a/src/stdio/fwrite.c
+++ b/src/stdio/fwrite.c
@@ -28,6 +28,7 @@ size_t __fwritex(const unsigned char *restrict s, size_t l, FILE *restrict f)
 size_t fwrite(const void *restrict src, size_t size, size_t nmemb, FILE *restrict f)
 {
 	size_t k, l = size*nmemb;
+	if (!size) nmemb = 0;
 	FLOCK(f);
 	k = __fwritex(src, l, f);
 	FUNLOCK(f);