patch 9.0.0013: reproducing memory access errors can be difficult
Problem: Reproducing memory access errors can be difficult.
Solution: When testing, copy each line to allocated memory, so that valgrind
can detect accessing memory before and/or after it. Fix uncovered
problems.
diff --git a/src/netbeans.c b/src/netbeans.c
index b69a3cb..5c45279 100644
--- a/src/netbeans.c
+++ b/src/netbeans.c
@@ -2741,13 +2741,15 @@
if (nbbuf->insertDone)
nbbuf->modified = 1;
+ // send the "insert" EVT
+ newtxt = alloc(newlen + 1);
+ vim_strncpy(newtxt, txt, newlen);
+
+ // Note: this may make "txt" invalid
pos.lnum = linenr;
pos.col = col;
off = pos2off(bufp, &pos);
- // send the "insert" EVT
- newtxt = alloc(newlen + 1);
- vim_strncpy(newtxt, txt, newlen);
p = nb_quote(newtxt);
if (p != NULL)
{