Add bounds checking to ERR_MSG() macro, used by zError().
diff --git a/zutil.h b/zutil.h
index 902a304..0bd2dbc 100644
--- a/zutil.h
+++ b/zutil.h
@@ -56,7 +56,7 @@
 extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
 /* (size given to avoid silly warnings with Visual C++) */
 
-#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
+#define ERR_MSG(err) z_errmsg[(err) < -6 || (err) > 2 ? 9 : 2 - (err)]
 
 #define ERR_RETURN(strm,err) \
   return (strm->msg = ERR_MSG(err), (err))