The tag-contains algorithm quietly returns "does not
contain" when parse_commit() fails. But a parse failure is
an indication that the repository is corrupt. We should die
loudly rather than producing a bogus result.

Signed-off-by: Jeff King <p...@peff.net>
---
 ref-filter.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/ref-filter.c b/ref-filter.c
index 631978a4f..5cb49b7c2 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -1523,9 +1523,7 @@ static enum contains_result contains_test(struct commit 
*candidate,
                return CONTAINS_YES;
        }
 
-       if (parse_commit(candidate) < 0)
-               return CONTAINS_NO;
-
+       parse_commit_or_die(candidate);
        return CONTAINS_UNKNOWN;
 }
 
-- 
2.12.0.445.g818af77e0

Reply via email to