The length functions in src/common/hex.c should cast srclen to uint64 prior to the shift. The current hex_enc_len(...) in encode.c performs such a cast.
diff --git a/src/common/hex.c b/src/common/hex.c index 0123c69697..e87aa1fd7f 100644 --- a/src/common/hex.c +++ b/src/common/hex.c @@ -178,7 +178,7 @@ pg_hex_decode(const char *src, size_t srclen, char *dst, size_t dstlen) uint64 pg_hex_enc_len(size_t srclen) { - return (srclen << 1); + return (uint64) srclen << 1; } /* @@ -192,5 +192,5 @@ pg_hex_enc_len(size_t srclen) uint64 pg_hex_dec_len(size_t srclen) { - return (srclen >> 1); + return (uint64) srclen >> 1; } Regards, -- Sehrope Sarkuni Founder & CEO | JackDB, Inc. | https://www.jackdb.com/