diff options
author | Yee Cheng Chin <ychin.git@gmail.com> | 2023-09-19 20:30:22 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2023-09-19 20:30:22 +0200 |
commit | 2ce070c27acd12ccc614afa4cecf4970a645a4af (patch) | |
tree | 2c8287ac4450e0fc6924c851ee59eb93f6863417 /src/if_python3.c | |
parent | 6f00d17e8d64ed46c85625e8ac38ed0928b32c58 (diff) |
patch 9.0.1913: if_python: undefined behaviour for function pointersv9.0.1913
Problem: if_python: undefined behaviour for function pointers
Solution: Fix if_python undefined behavior for function pointer casts
Identified by clang 17 UBSAN (see #12745). Make sure to cast function
pointers with the same signature only.
closes: #13122
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
Diffstat (limited to 'src/if_python3.c')
-rw-r--r-- | src/if_python3.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/if_python3.c b/src/if_python3.c index c6d1acc198..d2ffada0c4 100644 --- a/src/if_python3.c +++ b/src/if_python3.c @@ -1425,7 +1425,7 @@ ex_py3(exarg_T *eap) p_pyx = 3; DoPyCommand(script == NULL ? (char *) eap->arg : (char *) script, - (rangeinitializer) init_range_cmd, + init_range_cmd, (runner) run_cmd, (void *) eap); } @@ -1491,7 +1491,7 @@ ex_py3file(exarg_T *eap) // Execute the file DoPyCommand(buffer, - (rangeinitializer) init_range_cmd, + init_range_cmd, (runner) run_cmd, (void *) eap); } @@ -1503,7 +1503,7 @@ ex_py3do(exarg_T *eap) p_pyx = 3; DoPyCommand((char *)eap->arg, - (rangeinitializer)init_range_cmd, + init_range_cmd, (runner)run_do, (void *)eap); } @@ -2053,7 +2053,7 @@ LineToString(const char *str) do_py3eval(char_u *str, typval_T *rettv) { DoPyCommand((char *) str, - (rangeinitializer) init_range_eval, + init_range_eval, (runner) run_eval, (void *) rettv); if (rettv->v_type == VAR_UNKNOWN) |