config: don't segfault when given --path with a missing value
authorCarlos Martín Nieto <cmn@elego.de>
Thu, 15 Nov 2012 18:10:01 +0000 (10:10 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 16 Nov 2012 02:12:17 +0000 (18:12 -0800)
commit962c38eedd931a608b5e675f12a21569d9f4d39f
treee5c46cb797bf1d26020a9350050d54ce9797e8ac
parent889d35899ba64640e47798681ecb34a4be043bad
config: don't segfault when given --path with a missing value

When given a variable without a value, such as '[section] var' and
asking git-config to treat it as a path, git_config_pathname returns
an error and doesn't modify its output parameter. show_config assumes
that the call is always successful and sets a variable to indicate
that vptr should be freed. In case of an error however, trying to do
this will cause the program to be killed, as it's pointing to memory
in the stack.

Detect the error and return immediately to avoid freeing or accessing
the uninitialed memory in the stack.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/config.c
t/t1300-repo-config.sh