]> git.ipfire.org Git - thirdparty/git.git/commitdiff
line-log: initialize diff queue in process_ranges_ordinary_commit()
authorSZEDER Gábor <szeder.dev@gmail.com>
Sun, 24 Aug 2025 19:06:43 +0000 (21:06 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 25 Aug 2025 15:30:26 +0000 (08:30 -0700)
process_ranges_ordinary_commit() uses a local diff queue variable,
which it leaves uninitialized before passing its address to
queue_diffs().  This is not an issue, because at the end of that
function the contents of an other diff queue is moved into it by
simply overwriting whatever is in there, i.e. without reading any
uninitialized memory.

Still, seeing the uninitialized diff queue being passed around scared
me more than once, so out of caution let's make sure that it's
initialized.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
line-log.c

index b2a31ae956fee9d57c4adcd7f02e4da6a7b23e6b..71fa857ee83a79cc80a37d875b12b3be8cf0f432 100644 (file)
@@ -1182,7 +1182,7 @@ static int process_ranges_ordinary_commit(struct rev_info *rev, struct commit *c
                                          struct line_log_data *range)
 {
        struct commit *parent = NULL;
-       struct diff_queue_struct queue;
+       struct diff_queue_struct queue = DIFF_QUEUE_INIT;
        struct line_log_data *parent_range;
        int changed;