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

Re: [PATCH] pretty.c: make git_pretty_formats_config return -1 on git_config_string failure

From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Date
Aug 4, 2014, 19:49 UTC
Message-ID
<vpqy4v4avc0.fsf@anie.imag.fr>
In-Reply-To
<CAPig+cRo05mG9yeU61VSjAvXWRHU9soaaH-Cv7MKoxZ=it15Rw@mail.gmail.com>
Eric Sunshine <sunshine@sunshineco.com> writes:
Show 15 quoted lines
> On Mon, Aug 4, 2014 at 11:45 AM, Matthieu Moy
> <Matthieu.Moy@grenoble-inp.fr> wrote:
>> Tanay Abhra <tanayabh@gmail.com> writes:
>>
>>> `git_pretty_formats_config()` continues without checking git_config_string's
>>> return value which can lead to a SEGFAULT.
>>
>> Indeed, without the patch:
>>
>> $ git -c pretty.my= log --pretty=my
>> error: Missing value for 'pretty.my'
>> zsh: segmentation fault  git -c pretty.my= log --pretty=my
>
> This probably should be formalized as a proper test and included with
> Tanay's patch.

Not sure it's worth the trouble: the bug corresponds to a mis-application of a pattern used in tens of places in Git's code (basically, each call to git_config_string, 50 callsites). Testing this particular case does not ensure non-regression, and testing all occurences of the pattern would be overkill IMHO.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Previous: Eric SunshineNext: Jeff King
Message 4 of 8 in “pretty.c: make git_pretty_formats_config return -1 on git_config_string failure”
  1. pretty.c: make git_pretty_formats_config return -1 on git_config_string failureTanay Abhra, Aug 4, 2014
  2. Matthieu MoyAug 4, 2014
  3. Eric SunshineAug 4, 2014
  4. Matthieu MoyAug 4, 2014
  5. Jeff KingAug 4, 2014
  6. Matthieu MoyAug 4, 2014
  7. config: teach "git -c" to recognize an empty stringJeff King, Aug 4, 2014
  8. Junio C HamanoAug 4, 2014

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.