diff src/vim9execute.c @ 28968:3043a3e2ef95 v8.2.5006

patch 8.2.5006: asan warns for undefined behavior Commit: https://github.com/vim/vim/commit/68e64d2c1735f2a39afa8a0475ae29bedb116684 Author: Bram Moolenaar <Bram@vim.org> Date: Sun May 22 22:07:52 2022 +0100 patch 8.2.5006: asan warns for undefined behavior Problem: Asan warns for undefined behavior. Solution: Cast the shifted value to unsigned.
author Bram Moolenaar <Bram@vim.org>
date Sun, 22 May 2022 23:15:03 +0200
parents 8973f2f00872
children ac102d0fb50f
line wrap: on
line diff
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -4091,7 +4091,7 @@ exec_instructions(ectx_T *ectx)
 			case EXPR_LSHIFT: if (arg2 > MAX_LSHIFT_BITS)
 					      res = 0;
 					  else
-					      res = arg1 << arg2;
+					      res = (uvarnumber_T)arg1 << arg2;
 					  break;
 			case EXPR_RSHIFT: if (arg2 > MAX_LSHIFT_BITS)
 					      res = 0;