From: Matthieu Moy Date: Mon, 04 Aug 2014 15:45:44 GMT Subject: Re: [PATCH] pretty.c: make git_pretty_formats_config return -1 on git_config_string failure Message-ID: In-Reply-To: <1407163275-3006-1-git-send-email-tanayabh@gmail.com> Tanay Abhra 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 > diff --git a/pretty.c b/pretty.c > index 3a1da6f..72dbf55 100644 > --- a/pretty.c > +++ b/pretty.c > @@ -65,7 +65,9 @@ static int git_pretty_formats_config(const char *var, const char *value, void *c > > commit_format->name = xstrdup(name); > commit_format->format = CMIT_FMT_USERFORMAT; > - git_config_string(&fmt, var, value); > + if (git_config_string(&fmt, var, value)) > + return -1; > + Ack-ed-by: Matthieu Moy My first thought reading this was "why not rewrite using non-callback API?", but this particular call to git_config needs to iterate over config keys anyway. -- Matthieu Moy http://www-verimag.imag.fr/~moy/