Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-07-12 02:25:14 +0300
committerJunio C Hamano <gitster@pobox.com>2022-07-12 02:26:33 +0300
commite0ad13977a7f6226d753ec12aedaaa9db7e57dad (patch)
tree2d12540c2dda893d1236d6e2c02ee4cd0c9fb86b /builtin/fsck.c
parent5a5ea141e7d5317cd049cb1e93b9127c1cec04bb (diff)
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>
Diffstat (limited to 'builtin/fsck.c')
-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],