Re: Bug: git grep --no-index 123 /dev/stdin crashes with SIGABRT
- From
Kristoffer Haugsbakk <code@khaugsbakk.name>
- Date
- Oct 14, 2023, 18:12 UTC
- Message-ID
- <2d8eca81-0415-43bf-b3c4-f1163713422b@app.fastmail.com>
- In-Reply-To
- <CAKFQ_Q_P4HvCMHsg4=6ycb8r44qprhRCGSmLQf7B3_-zy28_oQ@mail.gmail.com>
Hi ks1322
On Sat, Oct 14, 2023, at 17:42, ks1322 ks1322 wrote:
Show 18 quoted lines
> Thank you for filling out a Git bug report! > Please answer the following questions to help us understand your issue. > > What did you do before the bug happened? (Steps to reproduce your issue) > `git grep --no-index 123 /dev/stdin` outside of git repository > > What did you expect to happen? (Expected behavior) > Ability to grep input from stdin > > What happened instead? (Actual behavior) > `git grep` crashed with SIGABRT > > $ git grep --no-index 123 /dev/stdin > BUG: environment.c:215: git environment hasn't been setup > Aborted (core dumped) > > What's different between what you expected and what actually happened? > Crash, no grep result
It looks like `setup.c:verify_filename` fails to deny paths that are not transitive children (or whatever the term) of the directory that git(1) is running in:
$ git -C ~/IdeaProjects/ grep --no-index dfddf ~
BUG: environment.c:213: git environment hasn't been setup
Aborted (core dumped)So `builtin/grep.c` goes past that check, into `pathspec.c:init_pathspec_item` and dies at line 472 since that function assumes that we are in a Git repository.
-- Kristoffer Haugsbakk