Source Joachim Nilsson:
Coverity Scan reported these two stack variables as uninitialized, in
particular the .r_lineno struct member was uninitialized. This patch
clears the 'struct region' rather than setting .r_lineno because if
any more struct members are added in the future the clear will cover
them too.
I think Joachim's approach is sensible. ok?
-lum
Index: undo.c
===
RCS file: /cvs/src/usr.bin/mg/undo.c,v
retrieving revision 1.57
diff -u -p -u -p -r1.57 undo.c
--- undo.c 11 Dec 2015 20:21:23 - 1.57
+++ undo.c 2 Sep 2016 07:02:18 -
@@ -269,6 +269,8 @@ undo_add_insert(struct line *lp, int off
if (!undo_enable_flag)
return (TRUE);
+
+ memset(®, 0, sizeof(reg));
reg.r_linep = lp;
reg.r_offset = offset;
reg.r_size = size;
@@ -315,6 +317,7 @@ undo_add_delete(struct line *lp, int off
if (!undo_enable_flag)
return (TRUE);
+ memset(®, 0, sizeof(reg));
reg.r_linep = lp;
reg.r_offset = offset;
reg.r_size = size;