"brian m. carlson" <sandals@xxxxxxxxxxxxxxxxxxxx> writes: > I'm still working on a full reroll for the series including performance > measurements (since this took me much longer than I expected it would), > but I wanted to include a patch for the segfault below to keep things > tidy in the mean time. I should point out that this doesn't appear to > crash when running the testsuite in SHA-256 mode for reasons I'm not > sure about, which explains why I didn't see it originally. Thanks; will apply and keep it with the latest round for now. > > ---- %< ---- > From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 > From: "brian m. carlson" <sandals@xxxxxxxxxxxxxxxxxxxx> > Date: Sun, 18 Apr 2021 22:56:04 +0000 > Subject: [PATCH] http-push: set algorithm when reading object ID > > 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@xxxxxxxxxxxxxxxxxxxx> > --- > http-push.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/http-push.c b/http-push.c > index b60d5fcc85..5675cd7708 100644 > --- a/http-push.c > +++ b/http-push.c > @@ -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; > > ---- %< ----