From 7faf682525ab1274ed30f1a48336a89f53841136 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sun, 12 Aug 2018 17:19:21 -0400 Subject: vim-patch:8.0.1227: undefined left shift in readfile() Problem: Undefined left shift in readfile(). (Brian 'geeknik' Carpenter) Solution: Add cast to unsigned. (Dominique Pelle, closes vim/vim#2253) https://github.com/vim/vim/commit/dc1c98129484e7879bc6dbf38e523beb730988b6 --- src/nvim/fileio.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index 0858436db3..af02b7faf2 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -1380,15 +1380,15 @@ retry: } } else if (fio_flags & FIO_UCS4) { if (fio_flags & FIO_ENDIAN_L) { - u8c = (*--p << 24); - u8c += (*--p << 16); - u8c += (*--p << 8); + u8c = (unsigned)*--p << 24; + u8c += (unsigned)*--p << 16; + u8c += (unsigned)*--p << 8; u8c += *--p; } else { /* big endian */ u8c = *--p; - u8c += (*--p << 8); - u8c += (*--p << 16); - u8c += (*--p << 24); + u8c += (unsigned)*--p << 8; + u8c += (unsigned)*--p << 16; + u8c += (unsigned)*--p << 24; } } else { /* UTF-8 */ if (*--p < 0x80) -- cgit