]> git.ipfire.org Git - thirdparty/git.git/commit
archive: fix check for missing url
authorJeff King <peff@peff.net>
Fri, 14 Jun 2024 10:25:25 +0000 (06:25 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 14 Jun 2024 16:34:37 +0000 (09:34 -0700)
commit0295ce7cbf0d2b3b71f44d9dc84ae8db1e895a99
tree421467aa2159ab3ab776bd8ef9a94ee50294eff8
parentd63586cb314731c851f28e14fc8012988467e2da
archive: fix check for missing url

Running "git archive --remote" checks that we have at least one url for
the remote. It does so by looking at remote.url[0], but that won't work;
if we have no url at all, then remote.url will be NULL, and we'll
segfault.

Check url_nr instead, which is a more direct way of asking what we
want.

You can trigger the segfault like this:

  git -c remote.foo.vcs=bar archive --remote=foo

but I didn't bother adding a test. This is the tip of the iceberg for
no-url remotes, and a later patch will improve that situation. I just
wanted to clean up this bug so it didn't make further refactoring of
this code more confusing.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/archive.c