git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: bugreport - SEGFAULT on 'git show-branch --current --reflog=3'

From
Gregory David <gregory.david@p1sec.com>
Date
Apr 14, 2022, 07:20 UTC
Message-ID
<d72ac546-7c0d-6b05-5b8b-0c4b96192135@p1sec.com>
In-Reply-To
<220413.86wnfses7c.gmgdl@evledraar.gmail.com>

By my side, your first suggestion didn't remove the segfault due to the irrelevant check on 'reflog[i]' that is not use on next line, so unable to segfault. The fact is you pointed the exact place where it happens and my fix of your fix :) remove the segfault.

On 13/04/2022 18:46, Ævar Arnfjörð Bjarmason wrote:
Show 29 quoted lines
> 
> On Wed, Apr 13 2022, Gregory David wrote:
> 
>> [[PGP Signed Part:Undecided]]
>> Thanks a lot Aevar!
>>
>> Don't you mean this:
>>
>> diff --git a/builtin/show-branch.c b/builtin/show-branch.c
>> index 330b0553b9..2a5c31729d 100644
>> --- a/builtin/show-branch.c
>> +++ b/builtin/show-branch.c
>> @@ -881,7 +881,7 @@ int cmd_show_branch(int ac, const char **av, const
>> char *prefix)
>>                                        get_color_reset_code(), ref_name[i]);
>>                         }
>>
>> -                       if (!reflog) {
>> +                       if (!reflog || !rev[i]) {
>>                                 /* header lines never need name */
>>                                 show_one_commit(rev[i], 1);
> 
> No, but my "suggested" fix was just enough to compile and get past the
> segfault, i.e. we don't reach the puts(reflog_msg[i]) branch, but of
> course rev[i] may be NULL too, I didn't check.
> 
> For this one though: I haven't tried it, but reading show_one_commit()
> one of the first things we do is dereference the 1st argument, so surely
> that will segfault too...
-- 
Gregory David
Security Engineer
https://www.p1sec.com
Previous: Ævar Arnfjörð BjarmasonNext: Gregory David
Message 5 of 6 in “bugreport - SEGFAULT on 'git show-branch --current --reflog=3'”
  1. Gregory DavidApr 13, 2022
  2. Ævar Arnfjörð BjarmasonApr 13, 2022
  3. Gregory DavidApr 13, 2022
  4. Ævar Arnfjörð BjarmasonApr 13, 2022
  5. Gregory DavidApr 14, 2022
  6. Gregory DavidApr 14, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.