Mercurial > vim
view runtime/indent/python.vim @ 33295:a43861545866 v9.0.1913
patch 9.0.1913: if_python: undefined behaviour for function pointers
Commit: https://github.com/vim/vim/commit/2ce070c27acd12ccc614afa4cecf4970a645a4af
Author: Yee Cheng Chin <ychin.git@gmail.com>
Date: Tue Sep 19 20:30:22 2023 +0200
patch 9.0.1913: if_python: undefined behaviour for function pointers
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>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 19 Sep 2023 20:45:05 +0200 |
parents | 4027cefc2aab |
children |
line wrap: on
line source
" Vim indent file " Language: Python " Maintainer: The Vim Project <https://github.com/vim/vim> " Last Change: 2023 Aug 10 " Former Maintainer: Bram Moolenaar <Bram@vim.org> " Original Author: David Bustos <bustos@caltech.edu> " Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif let b:did_indent = 1 " Some preliminary settings setlocal nolisp " Make sure lisp indenting doesn't supersede us setlocal autoindent " indentexpr isn't much help otherwise setlocal indentexpr=python#GetIndent(v:lnum) setlocal indentkeys+=<:>,=elif,=except let b:undo_indent = "setl ai< inde< indk< lisp<" " Only define the function once. if exists("*GetPythonIndent") finish endif " Keep this for backward compatibility, new scripts should use " python#GetIndent() function GetPythonIndent(lnum) return python#GetIndent(a:lnum) endfunction " vim:sw=2