Skip to content

Commit 5173099

Browse files
peffgitster
authored andcommitted
tree-diff: clear parent array in path_appendnew()
All of the other functions which allocate a combine_diff_path struct zero out the parent array, but this code path does not. There's no bug, since our caller will fill in most of the fields. But leaving the unused fields (like combine_diff_parent.path) uninitialized makes working with the struct more error-prone than it needs to be. Let's just zero the parent field to be consistent with the combine_diff_path_new() allocator. Signed-off-by: Jeff King <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 7067793 commit 5173099

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

tree-diff.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,6 @@ static int emit_diff_first_parent_only(struct diff_options *opt, struct combine_
151151
* process(p);
152152
* p = pprev;
153153
* ; don't forget to free tail->next in the end
154-
*
155-
* p->parent[] remains uninitialized.
156154
*/
157155
static struct combine_diff_path *path_appendnew(struct combine_diff_path *last,
158156
int nparent, const struct strbuf *base, const char *path, int pathlen,
@@ -187,6 +185,8 @@ static struct combine_diff_path *path_appendnew(struct combine_diff_path *last,
187185
p->mode = mode;
188186
oidcpy(&p->oid, oid ? oid : null_oid());
189187

188+
memset(p->parent, 0, sizeof(p->parent[0]) * nparent);
189+
190190
return p;
191191
}
192192

0 commit comments

Comments
 (0)