Git fork

Merge branch 'jk/ref-filter-segfault-fix'

A NULL-dereference bug has been corrected in an error codepath in
"git for-each-ref", "git branch --list" etc.

* jk/ref-filter-segfault-fix:
ref-filter: fix NULL check for parse object failure

+11 -1
+1 -1
ref-filter.c
··· 1608 1608 1609 1609 if (oi->info.contentp) { 1610 1610 *obj = parse_object_buffer(the_repository, &oi->oid, oi->type, oi->size, oi->content, &eaten); 1611 - if (!obj) { 1611 + if (!*obj) { 1612 1612 if (!eaten) 1613 1613 free(oi->content); 1614 1614 return strbuf_addf_ret(err, -1, _("parse_object_buffer failed on %s for %s"),
+10
t/t6300-for-each-ref.sh
··· 1134 1134 test_cmp expect actual 1135 1135 ' 1136 1136 1137 + test_expect_success 'for-each-ref reports broken tags' ' 1138 + git tag -m "good tag" broken-tag-good HEAD && 1139 + git cat-file tag broken-tag-good >good && 1140 + sed s/commit/blob/ <good >bad && 1141 + bad=$(git hash-object -w -t tag bad) && 1142 + git update-ref refs/tags/broken-tag-bad $bad && 1143 + test_must_fail git for-each-ref --format="%(*objectname)" \ 1144 + refs/tags/broken-tag-* 1145 + ' 1146 + 1137 1147 test_done