From: "Thomas Bachem via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Phillip Wood <phillip.wood@dunelm.org.uk>,
Jeff King <peff@peff.net>, Taylor Blau <me@ttaylorr.com>,
Derrick Stolee <stolee@gmail.com>, Patrick Steinhardt <ps@pks.im>,
Colin Hinton <colinlewishinton@gmail.com>,
Matt Hunter <m@lfurio.us>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Usman Akinyemi <usmanakinyemi202@gmail.com>,
Miklos Vajna <vmiklos@collabora.com>,
Junio C Hamano <gitster@pobox.com>,
Thomas Bachem <mail@thomasbachem.com>,
Thomas Bachem <mail@thomasbachem.com>
Subject: [PATCH v3 05/15] grep: handle NULL value for grep.patternType
Date: Wed, 11 Nov 2026 22:49:05 +0000 [thread overview]
Message-ID: <123f03f024ce442a82a1900e03d21951e06d0cd7.1794437355.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.2297.v3.git.1794437355.gitgitgadget@gmail.com>
From: Thomas Bachem <mail@thomasbachem.com>
A grep.patternType without a value makes "git grep", "git log" and
"git show" segfault: grep_config(), which all three use, passes the
NULL value to parse_pattern_type_arg(), which hands it to strcmp().
Reject a missing value with config_error_nonbool(), as grep_config()
already does for the color.grep.* slots.
Assisted-by: Claude Fable 5.1
Signed-off-by: Thomas Bachem <mail@thomasbachem.com>
---
grep.c | 2 ++
t/t7810-grep.sh | 5 +++++
2 files changed, 7 insertions(+)
diff --git a/grep.c b/grep.c
index 1d75d31421..ab082f963e 100644
--- a/grep.c
+++ b/grep.c
@@ -71,6 +71,8 @@ int grep_config(const char *var, const char *value,
}
if (!strcmp(var, "grep.patterntype")) {
+ if (!value)
+ return config_error_nonbool(var);
opt->pattern_type_option = parse_pattern_type_arg(var, value);
return 0;
}
diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh
index ac7ea9cf8d..d323927e54 100755
--- a/t/t7810-grep.sh
+++ b/t/t7810-grep.sh
@@ -1551,6 +1551,11 @@ test_expect_success PCRE 'grep invalidpattern properly dies with grep.patternTyp
test_must_fail git -c grep.patterntype=perl grep "a["
'
+test_expect_success 'grep.patternType without a value is rejected' '
+ test_must_fail git -c grep.patternType grep "a" 2>err &&
+ test_grep "missing value for .grep.patterntype." err
+'
+
test_expect_success 'grep -G -E -F pattern' '
echo "ab:a+b*c" >expected &&
git grep -G -E -F "a+b*c" ab >actual &&
--
gitgitgadget
next prev parent reply other threads:[~2026-11-11 22:49 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-07 8:42 [PATCH 00/15] Fix segfaults on settings given without a value Thomas Bachem via GitGitGadget
2026-11-07 8:42 ` [PATCH 01/15] rebase -i: handle NULL value for rebase.missingCommitsCheck Thomas Bachem via GitGitGadget
2026-11-09 15:07 ` Phillip Wood
2026-11-09 19:45 ` Junio C Hamano
2026-11-09 20:03 ` Thomas Bachem
2026-11-07 8:42 ` [PATCH 02/15] odb: handle NULL values for core.alternateRefs* config Thomas Bachem via GitGitGadget
2026-11-07 8:42 ` [PATCH 03/15] add-patch: handle NULL value for color slots Thomas Bachem via GitGitGadget
2026-11-07 8:42 ` [PATCH 04/15] bundle-uri: handle NULL value for fetch.bundleCreationToken Thomas Bachem via GitGitGadget
2026-11-09 13:39 ` Derrick Stolee
2026-11-07 8:42 ` [PATCH 05/15] grep: handle NULL value for grep.patternType Thomas Bachem via GitGitGadget
2026-11-07 8:42 ` [PATCH 06/15] remote: handle NULL value for remote.<name>.tagOpt Thomas Bachem via GitGitGadget
2026-11-10 11:14 ` Phillip Wood
2026-11-07 8:42 ` [PATCH 07/15] blame: handle NULL values for color.blame.* config Thomas Bachem via GitGitGadget
2026-11-10 11:14 ` Phillip Wood
2026-11-07 8:42 ` [PATCH 08/15] merge: handle NULL value for branch.<name>.mergeOptions Thomas Bachem via GitGitGadget
2026-11-10 11:12 ` Phillip Wood
2026-11-10 16:53 ` Junio C Hamano
2026-11-11 14:47 ` Phillip Wood
2026-11-11 15:26 ` Ben Knoble
2026-11-11 17:50 ` Junio C Hamano
2026-11-07 8:42 ` [PATCH 09/15] remote: handle NULL value for remotes.<group> Thomas Bachem via GitGitGadget
2026-11-07 8:42 ` [PATCH 10/15] setup: handle NULL value for safe.bareRepository Thomas Bachem via GitGitGadget
2026-11-07 8:42 ` [PATCH 11/15] pseudo-merge: handle NULL value for bitmapPseudoMerge.<name>.pattern Thomas Bachem via GitGitGadget
2026-11-07 8:42 ` [PATCH 12/15] scalar: handle NULL value for scalar.repo Thomas Bachem via GitGitGadget
2026-11-09 13:32 ` Derrick Stolee
2026-11-07 8:42 ` [PATCH 13/15] config: handle NULL value for remote URLs in hasconfig includes Thomas Bachem via GitGitGadget
2026-11-07 8:42 ` [PATCH 14/15] bundle-uri: handle NULL values in bundle lists Thomas Bachem via GitGitGadget
2026-11-09 13:36 ` Derrick Stolee
2026-11-07 8:42 ` [PATCH 15/15] config: handle NULL values when listing colors and expiry dates Thomas Bachem via GitGitGadget
2026-11-09 13:42 ` [PATCH 00/15] Fix segfaults on settings given without a value Derrick Stolee
2026-11-10 7:36 ` [PATCH v2 " Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 01/15] rebase -i: handle NULL value for rebase.missingCommitsCheck Thomas Bachem via GitGitGadget
2026-11-10 11:15 ` Phillip Wood
2026-11-10 7:36 ` [PATCH v2 02/15] odb: handle NULL values for core.alternateRefs* config Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 03/15] add-patch: handle NULL value for color slots Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 04/15] bundle-uri: handle NULL value for fetch.bundleCreationToken Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 05/15] grep: handle NULL value for grep.patternType Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 06/15] remote: handle NULL value for remote.<name>.tagOpt Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 07/15] blame: handle NULL values for color.blame.* config Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 08/15] merge: handle NULL value for branch.<name>.mergeOptions Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 09/15] remote: handle NULL value for remotes.<group> Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 10/15] setup: handle NULL value for safe.bareRepository Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 11/15] pseudo-merge: handle NULL value for bitmapPseudoMerge.<name>.pattern Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 12/15] scalar: handle NULL value for scalar.repo Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 13/15] config: handle NULL value for remote URLs in hasconfig includes Thomas Bachem via GitGitGadget
2026-11-10 7:36 ` [PATCH v2 14/15] bundle-uri: handle NULL values in bundle lists Thomas Bachem via GitGitGadget
2026-11-10 11:11 ` Phillip Wood
2026-11-10 15:03 ` Derrick Stolee
2026-11-10 7:36 ` [PATCH v2 15/15] config: handle NULL values when listing colors and expiry dates Thomas Bachem via GitGitGadget
2026-11-10 11:17 ` [PATCH v2 00/15] Fix segfaults on settings given without a value Phillip Wood
2026-11-10 20:38 ` Thomas Bachem
2026-11-11 22:49 ` [PATCH v3 " Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 01/15] rebase -i: handle NULL value for rebase.missingCommitsCheck Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 02/15] odb: handle NULL values for core.alternateRefs* config Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 03/15] add-patch: handle NULL value for color slots Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 04/15] bundle-uri: handle NULL value for fetch.bundleCreationToken Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` Thomas Bachem via GitGitGadget [this message]
2026-11-11 22:49 ` [PATCH v3 06/15] remote: handle NULL value for remote.<name>.tagOpt Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 07/15] blame: handle NULL values for color.blame.* config Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 08/15] merge: handle NULL value for branch.<name>.mergeOptions Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 09/15] remote: handle NULL value for remotes.<group> Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 10/15] setup: handle NULL value for safe.bareRepository Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 11/15] pseudo-merge: handle NULL value for bitmapPseudoMerge.<name>.pattern Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 12/15] scalar: handle NULL value for scalar.repo Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 13/15] config: handle NULL value for remote URLs in hasconfig includes Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 14/15] bundle-uri: handle NULL values in bundle lists Thomas Bachem via GitGitGadget
2026-11-11 22:49 ` [PATCH v3 15/15] config: handle NULL values when listing colors and expiry dates Thomas Bachem via GitGitGadget
2026-11-12 14:25 ` [PATCH v3 00/15] Fix segfaults on settings given without a value Phillip Wood
2026-11-12 14:25 ` Derrick Stolee
2026-11-12 17:53 ` Junio C Hamano
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=123f03f024ce442a82a1900e03d21951e06d0cd7.1794437355.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=colinlewishinton@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=m@lfurio.us \
--cc=mail@thomasbachem.com \
--cc=me@ttaylorr.com \
--cc=peff@peff.net \
--cc=phillip.wood@dunelm.org.uk \
--cc=ps@pks.im \
--cc=stolee@gmail.com \
--cc=usmanakinyemi202@gmail.com \
--cc=vmiklos@collabora.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.