]> git.ipfire.org Git - thirdparty/git.git/commitdiff
http-push: set algorithm when reading object ID
authorbrian m. carlson <sandals@crustytoothpaste.net>
Mon, 26 Apr 2021 01:02:51 +0000 (01:02 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 27 Apr 2021 07:31:38 +0000 (16:31 +0900)
In most places in the codebase, we use oidread to properly read an
object ID into a struct object_id.  However, in the HTTP code, we end up
needing to parse a loose object path with a slash in it, so we can't do
that.  Let's instead explicitly set the algorithm in this function so we
can rely on it in the future.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
http-push.c

index b60d5fcc85dd18f9a6747d662c0c039d0362f982..5675cd770854b4fc48444c2c114e647900ee51c7 100644 (file)
@@ -1022,6 +1022,8 @@ static void remote_ls(const char *path, int flags,
 /* extract hex from sharded "xx/x{38}" filename */
 static int get_oid_hex_from_objpath(const char *path, struct object_id *oid)
 {
+       oid->algo = hash_algo_by_ptr(the_hash_algo);
+
        if (strlen(path) != the_hash_algo->hexsz + 1)
                return -1;