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 -0000      1.57
+++ undo.c      2 Sep 2016 07:02:18 -0000
@@ -269,6 +269,8 @@ undo_add_insert(struct line *lp, int off
 
        if (!undo_enable_flag)
                return (TRUE);
+
+       memset(&reg, 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(&reg, 0, sizeof(reg));
        reg.r_linep = lp;
        reg.r_offset = offset;
        reg.r_size = size;

Reply via email to