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 <hmz007@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jensen Huang committed Mar 18, 2025 at 19:16 UTC d39f04b638f7f862efebb5bf028bad50f6aa9e28
2 files changed +2
builtin/index-pack.c
+1
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))
builtin/unpack-objects.c
+1
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) {