Fix illegal memory access when using expressions in the command line.
diff --git a/src/ex_getln.c b/src/ex_getln.c
index d292553..1cf6785 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -2527,7 +2527,10 @@
ccline.cmdbuff = p; /* keep the old one */
return FAIL;
}
- mch_memmove(ccline.cmdbuff, p, (size_t)ccline.cmdlen + 1);
+ /* There isn't always a NUL after the command, but it may need to be
+ * there, thus copy up to the NUL and add a NUL. */
+ mch_memmove(ccline.cmdbuff, p, (size_t)ccline.cmdlen);
+ ccline.cmdbuff[ccline.cmdlen] = NUL;
vim_free(p);
if (ccline.xpc != NULL