notes: don't leak memory in git_config_get_notes_strategy

This function asks for the value of a configuration and after
using the value does not have to retain ownership of it.
git_config_get_string_const() however is a function to get a
copy of the value, but we forget to free it before we return.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Stefan Beller 2016-03-31 17:35:43 -07:00 committed by Junio C Hamano
parent a0feb1b187
commit 344b548475

View file

@ -741,13 +741,14 @@ static int merge_commit(struct notes_merge_options *o)
static int git_config_get_notes_strategy(const char *key, static int git_config_get_notes_strategy(const char *key,
enum notes_merge_strategy *strategy) enum notes_merge_strategy *strategy)
{ {
const char *value; char *value;
if (git_config_get_string_const(key, &value)) if (git_config_get_string(key, &value))
return 1; return 1;
if (parse_notes_merge_strategy(value, strategy)) if (parse_notes_merge_strategy(value, strategy))
git_die_config(key, "unknown notes merge strategy %s", value); git_die_config(key, "unknown notes merge strategy %s", value);
free(value);
return 0; return 0;
} }