From: Daiki Ueno Date: Wed, 18 Sep 2019 13:11:06 +0000 (+0200) Subject: build: Fix undefined behavior in left shift X-Git-Tag: 0.23.18~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=df2b7b0a3c1ad3c6f54ff6c84ecc1f04976e65f7;p=p11-kit build: Fix undefined behavior in left shift Spotted by UBSan. --- diff --git a/p11-kit/rpc-message.c b/p11-kit/rpc-message.c index ff48f1d..228627e 100644 --- a/p11-kit/rpc-message.c +++ b/p11-kit/rpc-message.c @@ -636,7 +636,7 @@ p11_rpc_buffer_encode_uint32 (unsigned char* data, uint32_t p11_rpc_buffer_decode_uint32 (unsigned char* ptr) { - uint32_t val = ptr[0] << 24 | ptr[1] << 16 | ptr[2] << 8 | ptr[3]; + uint32_t val = (uint32_t) ptr[0] << 24 | ptr[1] << 16 | ptr[2] << 8 | ptr[3]; return val; } diff --git a/trust/utf8.c b/trust/utf8.c index 72280b5..8d1c6ce 100644 --- a/trust/utf8.c +++ b/trust/utf8.c @@ -253,7 +253,7 @@ ucs4be_to_uchar (const unsigned char *str, if (len < 4) return -1; - *uc = (str[0] << 24 | str[1] << 16 | str[2] << 8 | str[3]); + *uc = ((uint32_t) str[0] << 24 | str[1] << 16 | str[2] << 8 | str[3]); return 4; }