Re: Moving other hex functions to /common - Mailing list pgsql-hackers

From Sehrope Sarkuni
Subject Re: Moving other hex functions to /common
Date
Msg-id CAH7T-ao1CmpEHCY8CW-E9eViy+7qktmUDt5R+ZvDSzrz=dXfgw@mail.gmail.com
Whole thread Raw
In response to Re: Moving other hex functions to /common  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Moving other hex functions to /common  (Michael Paquier <michael@paquier.xyz>)
List pgsql-hackers
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/

pgsql-hackers by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: POC: postgres_fdw insert batching
Next
From: "David G. Johnston"
Date:
Subject: Re: Alter timestamp without timezone to with timezone rewrites rows