urlmatch.c: add and use a *_release() function
Plug a memory leak in credential_apply_config() by adding and using a
new urlmatch_config_release() function. This just does a
string_list_clear() on the "vars" member.
This finished up work on normalizing the init/free pattern in this
API, started in 73ee449bbf
(urlmatch.[ch]: add and use
URLMATCH_CONFIG_INIT, 2021-10-01).
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
a18d66cefb
commit
a41e8e7467
@ -612,7 +612,7 @@ static int get_urlmatch(const char *var, const char *url)
|
|||||||
|
|
||||||
strbuf_release(&matched->value);
|
strbuf_release(&matched->value);
|
||||||
}
|
}
|
||||||
string_list_clear(&config.vars, 1);
|
urlmatch_config_release(&config);
|
||||||
string_list_clear(&values, 1);
|
string_list_clear(&values, 1);
|
||||||
free(config.url.url);
|
free(config.url.url);
|
||||||
|
|
||||||
|
@ -130,6 +130,7 @@ static void credential_apply_config(struct credential *c)
|
|||||||
git_config(urlmatch_config_entry, &config);
|
git_config(urlmatch_config_entry, &config);
|
||||||
string_list_clear(&config.vars, 1);
|
string_list_clear(&config.vars, 1);
|
||||||
free(normalized_url);
|
free(normalized_url);
|
||||||
|
urlmatch_config_release(&config);
|
||||||
strbuf_release(&url);
|
strbuf_release(&url);
|
||||||
|
|
||||||
c->configured = 1;
|
c->configured = 1;
|
||||||
|
@ -611,3 +611,8 @@ int urlmatch_config_entry(const char *var, const char *value, void *cb)
|
|||||||
strbuf_release(&synthkey);
|
strbuf_release(&synthkey);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void urlmatch_config_release(struct urlmatch_config *config)
|
||||||
|
{
|
||||||
|
string_list_clear(&config->vars, 1);
|
||||||
|
}
|
||||||
|
@ -71,5 +71,6 @@ struct urlmatch_config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int urlmatch_config_entry(const char *var, const char *value, void *cb);
|
int urlmatch_config_entry(const char *var, const char *value, void *cb);
|
||||||
|
void urlmatch_config_release(struct urlmatch_config *config);
|
||||||
|
|
||||||
#endif /* URL_MATCH_H */
|
#endif /* URL_MATCH_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user