From: Mark Adler Date: Mon, 29 Jan 2024 03:36:46 +0000 (-0800) Subject: Add bounds checking to ERR_MSG() macro, used by zError(). X-Git-Tag: 2.2.0~94 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=43300cc4169793dbe528825bfca6d064f7a5e7fd;p=thirdparty%2Fzlib-ng.git Add bounds checking to ERR_MSG() macro, used by zError(). madler/zlib#431a9b65eacab7efabf2230ba97ff426c0e07f9d --- diff --git a/zutil.h b/zutil.h index 663616b4..f2d058fc 100644 --- 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 */