Mercurial > vim
view runtime/syntax/denyhosts.vim @ 24448:faac16c365b6 v8.2.2764
patch 8.2.2764: memory leak when default function argument is allocated
Commit: https://github.com/vim/vim/commit/b47bed2f7ada4dfae78f76f27473b83507e40315
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Apr 14 17:06:43 2021 +0200
patch 8.2.2764: memory leak when default function argument is allocated
Problem: Memory leak when default function argument is allocated.
Solution: Free the expression result.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 14 Apr 2021 17:15:05 +0200 |
parents | 1218c5353e2b |
children |
line wrap: on
line source
" Vim syntax file " Language: denyhosts configuration file " Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2007-06-25 if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim syn keyword denyhostsTodo \ contained \ TODO \ FIXME \ XXX \ NOTE syn case ignore syn match denyhostsComment \ contained \ display \ '#.*' \ contains=denyhostsTodo, \ @Spell syn match denyhostsBegin \ display \ '^' \ nextgroup=@denyhostsSetting, \ denyhostsComment \ skipwhite syn cluster denyhostsSetting \ contains=denyhostsStringSetting, \ denyhostsBooleanSetting, \ denyhostsPathSetting, \ denyhostsNumericSetting, \ denyhostsTimespecSetting, \ denyhostsFormatSetting, \ denyhostsRegexSetting syn keyword denyhostsStringSetting \ contained \ ADMIN_EMAIL \ SMTP_HOST \ SMTP_USERNAME \ SMTP_PASSWORD \ SMTP_FROM \ SMTP_SUBJECT \ BLOCK_SERVICE \ nextgroup=denyhostsStringDelimiter \ skipwhite syn keyword denyhostsBooleanSetting \ contained \ SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS \ HOSTNAME_LOOKUP \ SYSLOG_REPORT \ RESET_ON_SUCCESS \ SYNC_UPLOAD \ SYNC_DOWNLOAD \ ALLOWED_HOSTS_HOSTNAME_LOOKUP \ nextgroup=denyhostsBooleanDelimiter \ skipwhite syn keyword denyhostsPathSetting \ contained \ DAEMON_LOG \ PLUGIN_DENY \ PLUGIN_PURGE \ SECURE_LOG \ LOCK_FILE \ HOSTS_DENY \ WORK_DIR \ nextgroup=denyhostsPathDelimiter \ skipwhite syn keyword denyhostsNumericSetting \ contained \ SYNC_DOWNLOAD_THRESHOLD \ SMTP_PORT \ PURGE_THRESHOLD \ DENY_THRESHOLD_INVALID \ DENY_THRESHOLD_VALID \ DENY_THRESHOLD_ROOT \ DENY_THRESHOLD_RESTRICTED \ nextgroup=denyhostsNumericDelimiter \ skipwhite syn keyword denyhostsTimespecSetting \ contained \ DAEMON_SLEEP \ DAEMON_PURGE \ AGE_RESET_INVALID \ AGE_RESET_VALID \ AGE_RESET_ROOT \ AGE_RESET_RESTRICTED \ SYNC_INTERVAL \ SYNC_DOWNLOAD_RESILIENCY \ PURGE_DENY \ nextgroup=denyhostsTimespecDelimiter \ skipwhite syn keyword denyhostsFormatSetting \ contained \ DAEMON_LOG_TIME_FORMAT \ DAEMON_LOG_MESSAGE_FORMAT \ SMTP_DATE_FORMAT \ nextgroup=denyhostsFormatDelimiter \ skipwhite syn keyword denyhostsRegexSetting \ contained \ SSHD_FORMAT_REGEX \ FAILED_ENTRY_REGEX \ FAILED_ENTRY_REGEX2 \ FAILED_ENTRY_REGEX3 \ FAILED_ENTRY_REGEX4 \ FAILED_ENTRY_REGEX5 \ FAILED_ENTRY_REGEX6 \ FAILED_ENTRY_REGEX7 \ USERDEF_FAILED_ENTRY_REGEX \ SUCCESSFUL_ENTRY_REGEX \ nextgroup=denyhostsRegexDelimiter \ skipwhite syn keyword denyhostURLSetting \ contained \ SYNC_SERVER \ nextgroup=denyhostsURLDelimiter \ skipwhite syn match denyhostsStringDelimiter \ contained \ display \ '[:=]' \ nextgroup=denyhostsString \ skipwhite syn match denyhostsBooleanDelimiter \ contained \ display \ '[:=]' \ nextgroup=@denyhostsBoolean \ skipwhite syn match denyhostsPathDelimiter \ contained \ display \ '[:=]' \ nextgroup=denyhostsPath \ skipwhite syn match denyhostsNumericDelimiter \ contained \ display \ '[:=]' \ nextgroup=denyhostsNumber \ skipwhite syn match denyhostsTimespecDelimiter \ contained \ display \ '[:=]' \ nextgroup=denyhostsTimespec \ skipwhite syn match denyhostsFormatDelimiter \ contained \ display \ '[:=]' \ nextgroup=denyhostsFormat \ skipwhite syn match denyhostsRegexDelimiter \ contained \ display \ '[:=]' \ nextgroup=denyhostsRegex \ skipwhite syn match denyhostsURLDelimiter \ contained \ display \ '[:=]' \ nextgroup=denyhostsURL \ skipwhite syn match denyhostsString \ contained \ display \ '.\+' syn cluster denyhostsBoolean \ contains=denyhostsBooleanTrue, \ denyhostsBooleanFalse syn match denyhostsBooleanFalse \ contained \ display \ '.\+' syn match denyhostsBooleanTrue \ contained \ display \ '\s*\%(1\|t\%(rue\)\=\|y\%(es\)\=\)\>\s*$' syn match denyhostsPath \ contained \ display \ '.\+' syn match denyhostsNumber \ contained \ display \ '\d\+\>' syn match denyhostsTimespec \ contained \ display \ '\d\+[mhdwy]\>' syn match denyhostsFormat \ contained \ display \ '.\+' \ contains=denyhostsFormattingExpandos syn match denyhostsFormattingExpandos \ contained \ display \ '%.' syn match denyhostsRegex \ contained \ display \ '.\+' " TODO: Perhaps come up with a better regex here? There should really be a " library for these kinds of generic regexes, that is, URLs, mail addresses, … syn match denyhostsURL \ contained \ display \ '.\+' hi def link denyhostsTodo Todo hi def link denyhostsComment Comment hi def link denyhostsSetting Keyword hi def link denyhostsStringSetting denyhostsSetting hi def link denyhostsBooleanSetting denyhostsSetting hi def link denyhostsPathSetting denyhostsSetting hi def link denyhostsNumericSetting denyhostsSetting hi def link denyhostsTimespecSetting denyhostsSetting hi def link denyhostsFormatSetting denyhostsSetting hi def link denyhostsRegexSetting denyhostsSetting hi def link denyhostURLSetting denyhostsSetting hi def link denyhostsDelimiter Normal hi def link denyhostsStringDelimiter denyhostsDelimiter hi def link denyhostsBooleanDelimiter denyhostsDelimiter hi def link denyhostsPathDelimiter denyhostsDelimiter hi def link denyhostsNumericDelimiter denyhostsDelimiter hi def link denyhostsTimespecDelimiter denyhostsDelimiter hi def link denyhostsFormatDelimiter denyhostsDelimiter hi def link denyhostsRegexDelimiter denyhostsDelimiter hi def link denyhostsURLDelimiter denyhostsDelimiter hi def link denyhostsString String if exists('g:syntax_booleans_simple') || exists('b:syntax_booleans_simple') hi def link denyhostsBoolean Boolean hi def link denyhostsBooleanFalse denyhostsBoolean hi def link denyhostsBooleanTrue denyhostsBoolean else hi def denyhostsBooleanTrue term=bold ctermfg=Green guifg=Green hi def denyhostsBooleanFalse ctermfg=Red guifg=Red endif hi def link denyhostsPath String hi def link denyhostsNumber Number hi def link denyhostsTimespec Number hi def link denyhostsFormat String hi def link denyhostsFormattingExpandos Special hi def link denyhostsRegex String hi def link denyhostsURL String let b:current_syntax = "denyhosts" let &cpo = s:cpo_save unlet s:cpo_save