]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Prevent potential division-by-zero in gzfwrite and gzfread.
authorHans Kristian Rosbach <hk-git@circlestorm.org>
Fri, 24 Mar 2017 13:27:59 +0000 (14:27 +0100)
committerHans Kristian Rosbach <hk-git@circlestorm.org>
Fri, 24 Mar 2017 20:55:57 +0000 (21:55 +0100)
gzread.c
gzwrite.c

index c8ec08fbd6c4575cd0a30d281bf3101b51ff13a9..7319365bf6153fae9e7c893982648a4152d0e3ba 100644 (file)
--- a/gzread.c
+++ b/gzread.c
@@ -378,6 +378,10 @@ size_t ZEXPORT gzfread(void *buf, size_t size, size_t nitems, gzFile file) {
     size_t len;
     gz_state *state;
 
+    /* Exit early if size is zero, also prevents potential division by zero */
+    if (size == 0)
+        return 0;
+
     /* get internal structure */
     if (file == NULL)
         return 0;
index 80305261b24c82cfae65461fa1dd12d27277c76b..cfaefb145ff6ae747b75d6ac5761c042f6387e62 100644 (file)
--- a/gzwrite.c
+++ b/gzwrite.c
@@ -248,6 +248,10 @@ size_t ZEXPORT gzfwrite(void const *buf, size_t size, size_t nitems, gzFile file
     size_t len;
     gz_state *state;
 
+    /* Exit early if size is zero, also prevents potential division by zero */
+    if (size == 0)
+        return 0;
+
     /* get internal structure */
     if (file == NULL)
         return 0;