From: Junio C Hamano <gitster@pobox.com>
To: "Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, vdye@github.com,
"SZEDER Gábor" <szeder.dev@gmail.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Derrick Stolee" <derrickstolee@github.com>
Subject: Re: [PATCH v3 1/3] maintenance: add 'unregister --force'
Date: Mon, 26 Sep 2022 14:55:39 -0700 [thread overview]
Message-ID: <xmqqa66lby1w.fsf@gitster.g> (raw)
In-Reply-To: <8a8bffaec89e55da0c5bcac2f04331e0d4e69790.1664218087.git.gitgitgadget@gmail.com> (Derrick Stolee via GitGitGadget's message of "Mon, 26 Sep 2022 18:48:04 +0000")
"Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com> writes:
> @@ -1538,11 +1546,23 @@ static int maintenance_unregister(int argc, const char **argv, const char *prefi
> usage_with_options(builtin_maintenance_unregister_usage,
> options);
>
> - config_unset.git_cmd = 1;
> - strvec_pushl(&config_unset.args, "config", "--global", "--unset",
> - "--fixed-value", "maintenance.repo", maintpath, NULL);
> + for_each_string_list_item(item, list) {
> + if (!strcmp(maintpath, item->string)) {
> + found = 1;
> + break;
> + }
> + }
Just out of curiosity, I ran this in a fresh repository and got a
segfault. An attached patch obviously fixes it, but I am wondering
if a better "fix" is to teach for_each_string_list_item() that it is
perfectly reasonable to see a NULL passed to it as the list, which
is a mere special case that the caller has a string list with 0
items on it.
Thoughts?
Thanks.
diff --git a/builtin/gc.c b/builtin/gc.c
index 4c59235950..67f41fad4b 100644
--- a/builtin/gc.c
+++ b/builtin/gc.c
@@ -1549,6 +1549,7 @@ static int maintenance_unregister(int argc, const char **argv, const char *prefi
usage_with_options(builtin_maintenance_unregister_usage,
options);
+ if (list)
for_each_string_list_item(item, list) {
if (!strcmp(maintpath, item->string)) {
found = 1;
--
2.38.0-rc1-123-g02867222b8
next prev parent reply other threads:[~2022-09-26 21:55 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-20 1:02 [PATCH] maintenance: make unregister idempotent Derrick Stolee via GitGitGadget
2022-09-21 17:19 ` Junio C Hamano
2022-09-22 12:37 ` Derrick Stolee
2022-09-22 19:31 ` Junio C Hamano
2022-09-22 19:46 ` Derrick Stolee
2022-09-22 20:44 ` Junio C Hamano
2022-09-22 13:37 ` [PATCH v2 0/2] scalar: " Derrick Stolee via GitGitGadget
2022-09-22 13:37 ` [PATCH v2 1/2] maintenance: add 'unregister --force' Derrick Stolee via GitGitGadget
2022-09-23 13:08 ` SZEDER Gábor
2022-09-26 13:32 ` Derrick Stolee
2022-09-26 15:39 ` Ævar Arnfjörð Bjarmason
2022-09-26 17:25 ` Derrick Stolee
2022-09-26 19:17 ` Junio C Hamano
2022-09-22 13:37 ` [PATCH v2 2/2] scalar: make 'unregister' idempotent Derrick Stolee via GitGitGadget
2022-09-26 18:48 ` [PATCH v3 0/3] scalar: make unregister idempotent Derrick Stolee via GitGitGadget
2022-09-26 18:48 ` [PATCH v3 1/3] maintenance: add 'unregister --force' Derrick Stolee via GitGitGadget
2022-09-26 19:23 ` Junio C Hamano
2022-09-26 20:49 ` Derrick Stolee
2022-09-26 21:55 ` Junio C Hamano [this message]
2022-09-27 11:38 ` Derrick Stolee
2022-09-27 11:54 ` Derrick Stolee
2022-09-27 13:36 ` Ævar Arnfjörð Bjarmason
2022-09-27 13:55 ` Derrick Stolee
2022-09-26 18:48 ` [PATCH v3 2/3] scalar: make 'unregister' idempotent Derrick Stolee via GitGitGadget
2022-09-26 18:48 ` [PATCH v3 3/3] gc: replace config subprocesses with API calls Derrick Stolee via GitGitGadget
2022-09-26 19:27 ` Junio C Hamano
2022-09-27 13:56 ` [PATCH v4 0/4] scalar: make unregister idempotent Derrick Stolee via GitGitGadget
2022-09-27 13:56 ` [PATCH v4 1/4] maintenance: add 'unregister --force' Derrick Stolee via GitGitGadget
2022-09-27 13:56 ` [PATCH v4 2/4] scalar: make 'unregister' idempotent Derrick Stolee via GitGitGadget
2022-09-27 13:57 ` [PATCH v4 3/4] gc: replace config subprocesses with API calls Derrick Stolee via GitGitGadget
2022-09-27 13:57 ` [PATCH v4 4/4] string-list: document iterator behavior on NULL input Derrick Stolee via GitGitGadget
2022-09-27 16:39 ` Junio C Hamano
2022-09-27 16:31 ` [PATCH v4 0/4] scalar: make unregister idempotent Junio C Hamano
2022-09-27 16:54 ` Derrick Stolee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqa66lby1w.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=avarab@gmail.com \
--cc=derrickstolee@github.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=szeder.dev@gmail.com \
--cc=vdye@github.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.