commit 0cc74c2680627c981bd59b4b445450ff7afa8684 from: Stefan Sperling date: Thu Feb 20 21:18:35 2025 UTC fix endless loop regression in got-read-pack's commit coloring implementation reported by jrick@ with a reproducible test case, thanks! commit - cd78c984bfcd3790ab24fc510f958b584d9fb202 commit + 0cc74c2680627c981bd59b4b445450ff7afa8684 blob - 4ee1df9d2b9a64e0720103a3c135b0f98b40bf19 blob + 6a99c87bcd4304e66565ac48ac46681c1e80c623 --- libexec/got-read-pack/got-read-pack.c +++ libexec/got-read-pack/got-read-pack.c @@ -1836,6 +1836,18 @@ paint_commits(struct got_object_id_queue *ids, int *ni nskip--; if (got_object_idset_contains(skip, &qid->id)) { + got_object_qid_free(qid); + qid = NULL; + continue; + } + if (color == COLOR_KEEP && + got_object_idset_contains(keep, &qid->id)) { + got_object_qid_free(qid); + qid = NULL; + continue; + } + if (color == COLOR_DROP && + got_object_idset_contains(drop, &qid->id)) { got_object_qid_free(qid); qid = NULL; continue;