aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-07-11 16:25:14 -0700
committerJunio C Hamano <gitster@pobox.com>2022-07-11 16:26:33 -0700
commite0ad13977a7f6226d753ec12aedaaa9db7e57dad (patch)
tree2d12540c2dda893d1236d6e2c02ee4cd0c9fb86b
parentrevision: mark blobs needed for resolve-undo as reachable (diff)
downloadgit-e0ad13977a7f6226d753ec12aedaaa9db7e57dad.tar.gz
git-e0ad13977a7f6226d753ec12aedaaa9db7e57dad.zip
fsck: do not dereference NULL while checking resolve-undo data
When we found an invalid object recorded in the resolve-undo data, we would have ended up dereferencing NULL while fsck. Reporting the problem and going on to the next object is the right thing to do here. Noticed by SZEDER Gábor. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/fsck.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/builtin/fsck.c b/builtin/fsck.c
index 4b17ccc3f4..6c73092f10 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -784,6 +784,7 @@ static int fsck_resolve_undo(struct index_state *istate)
error(_("%s: invalid sha1 pointer in resolve-undo"),
oid_to_hex(&ru->oid[i]));
errors_found |= ERROR_REFS;
+ continue;
}
obj->flags |= USED;
fsck_put_object_name(&fsck_walk_options, &ru->oid[i],