Mercurial > vim
view runtime/compiler/powershell.vim @ 33789:2175a980f3eb v9.0.2113
patch 9.0.2113: Coverity warns for another overflow in shift_line()
Commit: https://github.com/vim/vim/commit/22a97fc241361aa91bda84e5344d5b7c0cda3e81
Author: Christian Brabandt <cb@256bit.org>
Date: Sun Nov 19 10:45:24 2023 +0100
patch 9.0.2113: Coverity warns for another overflow in shift_line()
Problem: Coverity warns for another overflow in shift_line()
Solution: Test for INT_MAX after the if condition, cast integer values
to (long long) before multiplying.
Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Michael Henry <vim@drmikehenry.com>
Signed-off-by: Ernie Rael <errael@raelity.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 19 Nov 2023 11:00:05 +0100 |
parents | 5c98ea5f5d6e |
children | 2c3f939d46bf |
line wrap: on
line source
" Vim compiler file " Compiler: powershell " URL: https://github.com/PProvost/vim-ps1 " Last Change: 2020 Mar 30 if exists("current_compiler") finish endif let current_compiler = "powershell" if exists(":CompilerSet") != 2 " older Vim always used :setlocal command -nargs=* CompilerSet setlocal <args> endif let s:cpo_save = &cpo set cpo-=C if !exists("g:ps1_makeprg_cmd") if executable('pwsh') " pwsh is the future let g:ps1_makeprg_cmd = 'pwsh' elseif executable('pwsh.exe') let g:ps1_makeprg_cmd = 'pwsh.exe' elseif executable('powershell.exe') let g:ps1_makeprg_cmd = 'powershell.exe' else let g:ps1_makeprg_cmd = '' endif endif if !executable(g:ps1_makeprg_cmd) echoerr "To use the powershell compiler, please set g:ps1_makeprg_cmd to the powershell executable!" endif " Show CategoryInfo, FullyQualifiedErrorId, etc? let g:ps1_efm_show_error_categories = get(g:, 'ps1_efm_show_error_categories', 0) " Use absolute path because powershell requires explicit relative paths " (./file.ps1 is okay, but # expands to file.ps1) let &l:makeprg = g:ps1_makeprg_cmd .' %:p:S' " Parse file, line, char from callstacks: " Write-Ouput : The term 'Write-Ouput' is not recognized as the name of a " cmdlet, function, script file, or operable program. Check the spelling " of the name, or if a path was included, verify that the path is correct " and try again. " At C:\script.ps1:11 char:5 " + Write-Ouput $content " + ~~~~~~~~~~~ " + CategoryInfo : ObjectNotFound: (Write-Ouput:String) [], CommandNotFoundException " + FullyQualifiedErrorId : CommandNotFoundException " Showing error in context with underlining. CompilerSet errorformat=%+G+%m " Error summary. CompilerSet errorformat+=%E%*\\S\ :\ %m " Error location. CompilerSet errorformat+=%CAt\ %f:%l\ char:%c " Errors that span multiple lines (may be wrapped to width of terminal). CompilerSet errorformat+=%C%m " Ignore blank/whitespace-only lines. CompilerSet errorformat+=%Z\\s%# if g:ps1_efm_show_error_categories CompilerSet errorformat^=%+G\ \ \ \ +\ %.%#\\s%#:\ %m else CompilerSet errorformat^=%-G\ \ \ \ +\ %.%#\\s%#:\ %m endif " Parse file, line, char from of parse errors: " At C:\script.ps1:22 char:16 " + Stop-Process -Name "invalidprocess " + ~~~~~~~~~~~~~~~ " The string is missing the terminator: ". " + CategoryInfo : ParserError: (:) [], ParseException " + FullyQualifiedErrorId : TerminatorExpectedAtEndOfString CompilerSet errorformat+=At\ %f:%l\ char:%c let &cpo = s:cpo_save unlet s:cpo_save " vim:set sw=2 sts=2: