mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.2.5006: asan warns for undefined behavior
Problem: Asan warns for undefined behavior. Solution: Cast the shifted value to unsigned.
This commit is contained in:
@@ -2716,7 +2716,8 @@ compile_expr5(char_u **arg, cctx_T *cctx, ppconst_T *ppconst)
|
||||
if (tv2->vval.v_number > MAX_LSHIFT_BITS)
|
||||
tv1->vval.v_number = 0;
|
||||
else if (type == EXPR_LSHIFT)
|
||||
tv1->vval.v_number = tv1->vval.v_number << tv2->vval.v_number;
|
||||
tv1->vval.v_number =
|
||||
(uvarnumber_T)tv1->vval.v_number << tv2->vval.v_number;
|
||||
else
|
||||
tv1->vval.v_number =
|
||||
(uvarnumber_T)tv1->vval.v_number >> tv2->vval.v_number;
|
||||
|
Reference in New Issue
Block a user