Mercurial > vim
diff src/os_unix.c @ 15306:7fff2d18e191 v8.1.0661
patch 8.1.0661: clipboard regexp might be used recursively
commit https://github.com/vim/vim/commit/a8bfa1727a370d659dc0ccc3f0fd1763b10b5457
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Dec 29 22:28:46 2018 +0100
patch 8.1.0661: clipboard regexp might be used recursively
Problem: Clipboard regexp might be used recursively.
Solution: Check for recursive use and bail out.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 29 Dec 2018 22:30:05 +0100 |
parents | 4aea6c2f56a8 |
children | 55ccc2d353bd |
line wrap: on
line diff
--- a/src/os_unix.c +++ b/src/os_unix.c @@ -1688,9 +1688,15 @@ x_connect_to_server(void) if (x_no_connect) return FALSE; - /* Check for a match with "exclude:" from 'clipboard'. */ + // Check for a match with "exclude:" from 'clipboard'. if (clip_exclude_prog != NULL) { + // Just in case we get called recursively, return FALSE. This could + // happen if vpeekc() is used while executing the prog and it causes a + // related callback to be invoked. + if (regprog_in_use(clip_exclude_prog)) + return FALSE; + if (vim_regexec_prog(&clip_exclude_prog, FALSE, T_NAME, (colnr_T)0)) return FALSE; }