In `send_info()`, we pass in a repository but then use `get_oid_hex()` to parse passed-in object IDs, which implicitly uses `the_repository`. Fix this by using the hash algorithm from the passed-in repository instead. Signed-off-by: Patrick Steinhardt <ps@xxxxxx> --- protocol-caps.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/protocol-caps.c b/protocol-caps.c index fe8d1d5c63..855f279c2f 100644 --- a/protocol-caps.c +++ b/protocol-caps.c @@ -7,6 +7,7 @@ #include "hex.h" #include "object.h" #include "object-store-ll.h" +#include "repository.h" #include "string-list.h" #include "strbuf.h" @@ -52,7 +53,7 @@ static void send_info(struct repository *r, struct packet_writer *writer, struct object_id oid; unsigned long object_size; - if (get_oid_hex(oid_str, &oid) < 0) { + if (get_oid_hex_algop(oid_str, &oid, r->hash_algo) < 0) { packet_writer_error( writer, "object-info: protocol error, expected to get oid, not '%s'", -- 2.45.2.436.gcd77e87115.dirty
Attachment:
signature.asc
Description: PGP signature