[PATCH 02/12] for_each_alternate_ref: stop trimming trailing slashes
- From
Jeff King <peff@peff.net>
- Date
- Jan 24, 2017, 00:39 UTC
- Message-ID
- <20170124003944.hbaftn7zkflm7vu7@sigill.intra.peff.net>
- In-Reply-To
- <20170124003729.j4ygjcgypdq7hceg@sigill.intra.peff.net>
The real_pathdup() function will have removed extra slashes for us already (on top of the normalize_path() done when we created the alternate_object_database struct in the first place).
Incidentally, this also fixes the case where the path is just "/", which would read off the start of the array. That doesn't seem possible to trigger in practice, though, as link_alt_odb_entry() blindly eats trailing slashes, including a bare "/".
Signed-off-by: Jeff King <peff@peff.net> --- I think the "/" thing in link_alt_odb_entry() is buggy, and it's an easy one-liner fix. But I notice some of the rest of the code isn't ready to handle "/" (mostly it just duplicates "/" when appending to the path), so I left it for now (and I doubt anybody cares anyway).
transport.c | 2 -- 1 file changed, 2 deletions(-)
diff --git a/transport.c b/transport.c index 74d0e45bd..6b4b3ed31 100644 --- a/transport.c +++ b/transport.c @@ -1219,8 +1219,6 @@ static int refs_from_alternate_cb(struct alternate_object_database *e, return 0; len = strlen(other); - while (other[len-1] == '/') - other[--len] = '\0'; if (len < 8 || memcmp(other + len - 8, "/objects", 8)) goto out; /* Is this a git repository with refs? */
-- 2.11.0.765.g454d2182f