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_py_both.h | |
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_py_both.h')
-rw-r--r-- | src/if_py_both.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/if_py_both.h b/src/if_py_both.h index 6e2ef26e7d..0723a5ff9b 100644 --- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -5962,14 +5962,15 @@ static struct PyMethodDef CurrentMethods[] = { }; static void -init_range_cmd(exarg_T *eap) +init_range_cmd(void *arg) { + exarg_T *eap = (exarg_T*)arg; RangeStart = eap->line1; RangeEnd = eap->line2; } static void -init_range_eval(typval_T *rettv UNUSED) +init_range_eval(void *rettv UNUSED) { RangeStart = (PyInt) curwin->w_cursor.lnum; RangeEnd = RangeStart; |