patch 8.1.0325: strings in swap file may not be NUL terminated
Problem: Strings in swap file may not be NUL terminated. (Coverity)
Solution: Limit the length of the used string.
diff --git a/src/memline.c b/src/memline.c
index 3d82af0..b4e02d7 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -2065,10 +2065,13 @@
else
{
/* we have swap information */
- dict_add_string(d, "version", vim_strsave(b0.b0_version));
- dict_add_string(d, "user", vim_strsave(b0.b0_uname));
- dict_add_string(d, "host", vim_strsave(b0.b0_hname));
- dict_add_string(d, "fname", vim_strsave(b0.b0_fname));
+ dict_add_string(d, "version", vim_strnsave(b0.b0_version, 10));
+ dict_add_string(d, "user",
+ vim_strnsave(b0.b0_uname, B0_UNAME_SIZE));
+ dict_add_string(d, "host",
+ vim_strnsave(b0.b0_hname, B0_HNAME_SIZE));
+ dict_add_string(d, "fname",
+ vim_strnsave(b0.b0_fname, B0_FNAME_SIZE_ORG));
dict_add_number(d, "pid", char_to_long(b0.b0_pid));
dict_add_number(d, "mtime", char_to_long(b0.b0_mtime));
diff --git a/src/version.c b/src/version.c
index bf40df7..dfb0965 100644
--- a/src/version.c
+++ b/src/version.c
@@ -795,6 +795,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 325,
+/**/
324,
/**/
323,