mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
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:
parent
a0feb1b187
commit
344b548475
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue