summaryrefslogtreecommitdiffstats
path: root/src/help.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-11-25 10:50:12 +0000
committerBram Moolenaar <Bram@vim.org>2021-11-25 10:50:12 +0000
commitbd228fd097b41a798f90944b5d1245eddd484142 (patch)
treeed9a086f58a1ce7dc970be1fc3495fd278dd4936 /src/help.c
parentbb277fd89fd7c665d51be2a08993732d46c208ef (diff)
patch 8.2.3669: buffer overflow with long help argumentv8.2.3669
Problem: Buffer overflow with long help argument. Solution: Use snprintf().
Diffstat (limited to 'src/help.c')
-rw-r--r--src/help.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/help.c b/src/help.c
index 28d914c823..d67f78b08e 100644
--- 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, "\\$");