Re: mg(1) Initialize stack variables to zero before memmove()

2016-09-02 Thread Todd C. Miller
On Fri, 02 Sep 2016 07:10:38 -, Mark Lumsden wrote:

> 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?

OK millert@

 - todd



mg(1) Initialize stack variables to zero before memmove()

2016-09-02 Thread Mark Lumsden
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;