diff options
author | Derrick Stolee <dstolee@microsoft.com> | 2018-09-21 08:05:26 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-09-21 11:36:27 -0700 |
commit | b67f6b26e354813d8cd792dcb3eb1a1b60b98a08 (patch) | |
tree | 36cb1a253063e6a0c6dc24688532ae9c251f2e96 /connected.c | |
parent | commit-reach: correct accidental #include of C file (diff) | |
download | tgif-b67f6b26e354813d8cd792dcb3eb1a1b60b98a08.tar.xz |
commit-reach: properly peel tags
The can_all_from_reach_with_flag() algorithm was refactored in 4fbcca4e
"commit-reach: make can_all_from_reach... linear" but incorrectly
assumed that all objects provided were commits. During a fetch
negotiation, ok_to_give_up() in upload-pack.c may provide unpeeled tags
to the 'from' array. The current code creates a segfault.
Add a direct call to can_all_from_reach_with_flag() in 'test-tool reach'
and add a test in t6600-test-reach.sh that demonstrates this segfault.
Correct the issue by peeling tags when investigating the initial list
of objects in the 'from' array.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'connected.c')
0 files changed, 0 insertions, 0 deletions