Merge branch 'ah/plugleaks'
Plug or annotate remaining leaks that trigger while running the very basic set of tests. * ah/plugleaks: transport: also free remote_refs in transport_disconnect() parse-options: don't leak alias help messages parse-options: convert bitfield values to use binary shift init-db: silence template_dir leak when converting to absolute path init: remove git_init_db_config() while fixing leaks worktree: fix leak in dwim_branch() clone: free or UNLEAK further pointers when finished reset: free instead of leaking unneeded ref symbolic-ref: don't leak shortened refname in check_symref()
This commit is contained in:
@ -938,9 +938,6 @@ static int get_remote_ref_states(const char *name,
|
||||
struct ref_states *states,
|
||||
int query)
|
||||
{
|
||||
struct transport *transport;
|
||||
const struct ref *remote_refs;
|
||||
|
||||
states->remote = remote_get(name);
|
||||
if (!states->remote)
|
||||
return error(_("No such remote: '%s'"), name);
|
||||
@ -948,10 +945,12 @@ static int get_remote_ref_states(const char *name,
|
||||
read_branches();
|
||||
|
||||
if (query) {
|
||||
struct transport *transport;
|
||||
const struct ref *remote_refs;
|
||||
|
||||
transport = transport_get(states->remote, states->remote->url_nr > 0 ?
|
||||
states->remote->url[0] : NULL);
|
||||
remote_refs = transport_get_remote_refs(transport, NULL);
|
||||
transport_disconnect(transport);
|
||||
|
||||
states->queried = 1;
|
||||
if (query & GET_REF_STATES)
|
||||
@ -960,6 +959,7 @@ static int get_remote_ref_states(const char *name,
|
||||
get_head_names(remote_refs, states);
|
||||
if (query & GET_PUSH_REF_STATES)
|
||||
get_push_ref_states(remote_refs, states);
|
||||
transport_disconnect(transport);
|
||||
} else {
|
||||
for_each_ref(append_ref_to_tracked_list, states);
|
||||
string_list_sort(&states->tracked);
|
||||
|
||||
Reference in New Issue
Block a user