]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Add bounds checking to ERR_MSG() macro, used by zError().
authorMark Adler <madler@alumni.caltech.edu>
Mon, 29 Jan 2024 03:36:46 +0000 (19:36 -0800)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Wed, 7 Feb 2024 18:15:56 +0000 (19:15 +0100)
madler/zlib#431a9b65eacab7efabf2230ba97ff426c0e07f9d

zutil.h

diff --git a/zutil.h b/zutil.h
index 663616b44d89ebfcdb5fa424945828d6edfe8834..f2d058fc69a20144695783f935f6877a3d076c09 100644 (file)
--- a/zutil.h
+++ b/zutil.h
@@ -24,7 +24,7 @@ typedef unsigned long ulg;
 extern z_const char * const PREFIX(z_errmsg)[10]; /* indexed by 2-zlib_error */
 /* (size given to avoid silly warnings with Visual C++) */
 
-#define ERR_MSG(err) PREFIX(z_errmsg)[Z_NEED_DICT-(err)]
+#define ERR_MSG(err) PREFIX(z_errmsg)[(err) < -6 || (err) > 2 ? 9 : 2 - (err)]
 
 #define ERR_RETURN(strm, err) return (strm->msg = ERR_MSG(err), (err))
 /* To be used only when the state is known to be valid */