patch 8.2.4647: "source" can read past end of copied line
Problem: "source" can read past end of copied line.
Solution: Add a terminating NUL.
diff --git a/src/scriptfile.c b/src/scriptfile.c
index a334b2f..39936a4 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -1918,7 +1918,10 @@
break; // all the lines are processed
ga_concat(&ga, ((char_u **)sp->buflines.ga_data)[sp->buf_lnum]);
sp->buf_lnum++;
+ if (ga_grow(&ga, 1) == FAIL)
+ break;
buf = (char_u *)ga.ga_data;
+ buf[ga.ga_len++] = NUL;
}
else
{