summaryrefslogtreecommitdiff
path: root/deflate.c
diff options
context:
space:
mode:
authorMark Adler <madler@alumni.caltech.edu>2015-07-05 13:51:50 -0700
committerMark Adler <madler@alumni.caltech.edu>2015-07-05 13:51:50 -0700
commit8a979f6c7986574e37316148cd8ca440c3bc08a3 (patch)
tree3ea2a8d06aada40f9e9d71c5b0d2001a290451f1 /deflate.c
parent9859a94c1002484ee5f824c05683a5b2484cbf49 (diff)
downloadzlib-8a979f6c7986574e37316148cd8ca440c3bc08a3.tar.gz
Avoid left shift of a negative value in flush rank calculation.
The C standard permits an undefined result for a left shift of a negative value.
Diffstat (limited to 'deflate.c')
-rw-r--r--deflate.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/deflate.c b/deflate.c
index c042ac2..aeabbae 100644
--- a/deflate.c
+++ b/deflate.c
@@ -156,7 +156,7 @@ struct static_tree_desc_s {int dummy;}; /* for buggy compilers */
#endif
/* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
-#define RANK(f) (((f) << 1) - ((f) > 4 ? 9 : 0))
+#define RANK(f) (((f) * 2) - ((f) > 4 ? 9 : 0))
/* ===========================================================================
* Update a hash value with the given input byte