mirror of
https://github.com/neovim/neovim.git
synced 2025-09-17 16:58:17 +00:00
*: Disable UBSAN for VimL arithmetic implementation
After merging +num64, the 64-bit sanitizer builds show that Vim doesn't buffer the user from C's UB in signed arithmetic. Upstream doesn't appear to be [interested] in fixing the issue, so suppress UBSAN until someone decides to fix the problem. N.B., the problem existed before but went unnoticed since the sanitizer builds weren't being run in 32-bit mode. [interested]: https://groups.google.com/d/topic/vim_dev/_tqf8eQy5eA/discussion
This commit is contained in:
@@ -3934,7 +3934,7 @@ eval6 (
|
||||
typval_T *rettv,
|
||||
int evaluate,
|
||||
int want_string /* after "." operator */
|
||||
)
|
||||
) FUNC_ATTR_NO_SANITIZE_UNDEFINED
|
||||
{
|
||||
typval_T var2;
|
||||
int op;
|
||||
|
@@ -25,7 +25,7 @@ char *e_listidx = N_("E684: list index out of range: %" PRId64);
|
||||
/// @return OK or FAIL.
|
||||
int eexe_mod_op(typval_T *const tv1, const typval_T *const tv2,
|
||||
const char *const op)
|
||||
FUNC_ATTR_NONNULL_ALL
|
||||
FUNC_ATTR_NONNULL_ALL FUNC_ATTR_NO_SANITIZE_UNDEFINED
|
||||
{
|
||||
// Can't do anything with a Funcref, a Dict or special value on the right.
|
||||
if (tv2->v_type != VAR_FUNC && tv2->v_type != VAR_DICT) {
|
||||
|
Reference in New Issue
Block a user