From: Stefan Beller Date: Wed, 17 Aug 2016 20:53:00 GMT Subject: Re: [PATCHv4 8/8] clone: recursive and reference option triggers submodule alternates Message-ID: In-Reply-To: On Wed, Aug 17, 2016 at 1:02 PM, Junio C Hamano wrote: > Stefan Beller writes: > >> +static void prepare_possible_alternates(const char *sm_name, >> + struct string_list *reference) >> +{ >> + char *sm_alternate = NULL, *error_strategy = NULL; >> + struct submodule_alternate_setup sas = SUBMODULE_ALTERNATE_SETUP_INIT; >> + >> + git_config_get_string("submodule.alternateLocation", &sm_alternate); >> + if (!sm_alternate) >> + return; >> + >> + git_config_get_string("submodule.alternateErrorStrategy", &error_strategy); > > I have to admit that I need to follow the codepath in config.c every > time to check, but I _think_ git_config_get_string() gives you your > own copy of the value. As this function does not give ownership of > sm_alternate or error_strategy to something else, they are leaked > every time this function is called, I think. There are quite a few more occurrences of git_config_get_string in the submodule helper, I'll also look at those. Thanks, Stefan