From: Junio C Hamano Date: Sun, 19 Mar 2023 22:03:10 +0000 (-0700) Subject: Merge branch 'ew/commit-reach-clean-up-flags-fix' X-Git-Tag: v2.41.0-rc0~156 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b0d2440442e3455887bd0afaa2c630ef9c4e583d;p=thirdparty%2Fgit.git Merge branch 'ew/commit-reach-clean-up-flags-fix' Fix a segfaulting loop. The function and its caller may need further clean-up. * ew/commit-reach-clean-up-flags-fix: commit-reach: avoid NULL dereference --- b0d2440442e3455887bd0afaa2c630ef9c4e583d diff --cc commit-reach.c index 5ba822a720,7e422b0cd3..7c0c39fd28 --- a/commit-reach.c +++ b/commit-reach.c @@@ -806,11 -622,18 +806,15 @@@ int can_all_from_reach_with_flag(struc } cleanup: - for (i = 0; i < nr_commits; i++) { - clear_commit_marks(list[i], RESULT); - clear_commit_marks(list[i], assign_flag); - } + clear_commit_marks_many(nr_commits, list, RESULT | assign_flag); free(list); - for (i = 0; i < from->nr; i++) - from->objects[i].item->flags &= ~assign_flag; + for (i = 0; i < from->nr; i++) { + struct object *from_one = from->objects[i].item; + + if (from_one) + from_one->flags &= ~assign_flag; + } return result; }