From 32d923f85aef7d241401c8b380e1a75c51d1a2d1 Mon Sep 17 00:00:00 2001 From: Rob Snyder Date: Wed, 30 Jun 2021 09:46:06 -0400 Subject: [PATCH] Fix ziplist length updates on bigendian platforms (#2080) Adds call to intrev16ifbe to ensure ZIPLIST_LENGTH is compared correctly (cherry picked from commit eaa52719a355c4467d0383c1c9f5184c9c14fe5a) (cherry picked from commit 4c181230855bb3f92e93b32a48db52e69bd7e509) --- src/ziplist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ziplist.c b/src/ziplist.c index 8721ace39..5933d1915 100644 --- a/src/ziplist.c +++ b/src/ziplist.c @@ -261,7 +261,7 @@ * to stay there to signal that a full scan is needed to get the number of * items inside the ziplist. */ #define ZIPLIST_INCR_LENGTH(zl,incr) { \ - if (ZIPLIST_LENGTH(zl) < UINT16_MAX) \ + if (intrev16ifbe(ZIPLIST_LENGTH(zl)) < UINT16_MAX) \ ZIPLIST_LENGTH(zl) = intrev16ifbe(intrev16ifbe(ZIPLIST_LENGTH(zl))+incr); \ }