Mercurial > vim
diff src/help.c @ 26276:35d000f3d591 v8.2.3669
patch 8.2.3669: buffer overflow with long help argument
Commit: https://github.com/vim/vim/commit/bd228fd097b41a798f90944b5d1245eddd484142
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Nov 25 10:50:12 2021 +0000
patch 8.2.3669: buffer overflow with long help argument
Problem: Buffer overflow with long help argument.
Solution: Use snprintf().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 25 Nov 2021 12:00:07 +0100 |
parents | 7334bf933510 |
children | 806f31579357 |
line wrap: on
line diff
--- a/src/help.c +++ b/src/help.c @@ -422,8 +422,7 @@ find_help_tags( || (vim_strchr((char_u *)"%_z@", arg[1]) != NULL && arg[2] != NUL))) { - STRCPY(d, "/\\\\"); - STRCPY(d + 3, arg + 1); + vim_snprintf((char *)d, IOSIZE, "/\\\\%s", arg + 1); // Check for "/\\_$", should be "/\\_\$" if (d[3] == '_' && d[4] == '$') STRCPY(d + 4, "\\$");