From d39f04b638f7f862efebb5bf028bad50f6aa9e28 Mon Sep 17 00:00:00 2001 From: Jensen Huang Date: Tue, 18 Mar 2025 19:16:10 +0800 Subject: [PATCH] index-pack, unpack-objects: restore missing ->init_fn Commit 0578f1e66a ("global: adapt callers to use generic hash context helpers") accidentally removed `->init_fn`, which is required for OpenSSL 3+ SHA1. This fixes the following error on fetch: fatal: fetch-pack: invalid index-pack output Signed-off-by: Jensen Huang Signed-off-by: Junio C Hamano --- builtin/index-pack.c | 1 + builtin/unpack-objects.c | 1 + 2 files changed, 2 insertions(+) diff --git a/builtin/index-pack.c b/builtin/index-pack.c index 5ee13661a1..c7ac079573 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -1286,6 +1286,7 @@ static void parse_pack_objects(unsigned char *hash) /* Check pack integrity */ flush(); + the_hash_algo->init_fn(&tmp_ctx); git_hash_clone(&tmp_ctx, &input_ctx); git_hash_final(hash, &tmp_ctx); if (!hasheq(fill(the_hash_algo->rawsz), hash, the_repository->hash_algo)) diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c index 8383bcf404..c5a6dca856 100644 --- a/builtin/unpack-objects.c +++ b/builtin/unpack-objects.c @@ -668,6 +668,7 @@ int cmd_unpack_objects(int argc, the_hash_algo->init_fn(&ctx); unpack_all(); git_hash_update(&ctx, buffer, offset); + the_hash_algo->init_fn(&tmp_ctx); git_hash_clone(&tmp_ctx, &ctx); git_hash_final_oid(&oid, &tmp_ctx); if (strict) { -- 2.39.5