git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 05/11] branch: fix a leak in setup_tracking

From
Jeff King <peff@peff.net>
Date
Jun 12, 2023, 03:26 UTC
Message-ID
<20230612032615.GE306352@coredump.intra.peff.net>
In-Reply-To
<49a4339b-d736-2c30-0c57-194ab33f377c@gmail.com>
On Sun, Jun 11, 2023 at 08:49:51PM +0200, Rubén Justo wrote:
> The return introduced in bdaf1dfae7 was to avoid setting up the
> tracking, but even in that case it is still necessary to do the
> clean-up.  Let's do it.

That may be a sign that the return introduced by that commit is in the wrong spot (i.e., could we be checking it earlier and returning before doing the work that led to the allocations?).

But I didn't look too carefully, and I think for the purposes of your series it is OK to simply fix the leak without digging too far.

I'll cc the author (and quote the patch below) though, as sometimes in cases like these they may be interested in looking deeper themselves.

-Peff
Show 20 quoted lines
> Signed-off-by: Rubén Justo <rjusto@gmail.com>
> ---
>  branch.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/branch.c b/branch.c
> index a7333a4c32..ff81c2266a 100644
> --- a/branch.c
> +++ b/branch.c
> @@ -333,7 +333,7 @@ static void setup_tracking(const char *new_ref, const char *orig_ref,
>  		if (!skip_prefix(tracking.srcs->items[0].string,
>  				 "refs/heads/", &tracked_branch) ||
>  		    strcmp(tracked_branch, new_ref))
> -			return;
> +			goto cleanup;
>  	}
>  
>  	if (tracking.srcs->nr < 1)
> -- 
> 2.40.1
Previous: Rubén JustoNext: Rubén Justo
Message 14 of 47 in “tests: mark as passing with SANITIZE=leak”
  1. Rubén JustoJun 11, 2023
  2. 01/11 rev-parse: fix a leak with --abbrev-refRubén Justo, Jun 11, 2023
  3. Jeff KingJun 12, 2023
  4. Rubén JustoJun 16, 2023
  5. 02/11 config: fix a leak in git_config_copy_or_rename_section_in_fileRubén Justo, Jun 11, 2023
  6. Jeff KingJun 12, 2023
  7. 03/11 remote: fix a leak in query_matches_negative_refspecRubén Justo, Jun 11, 2023
  8. Jeff KingJun 12, 2023
  9. Rubén JustoJun 16, 2023
  10. 04/11 branch: fix a leak in dwim_and_setup_trackingRubén Justo, Jun 11, 2023
  11. Jeff KingJun 12, 2023
  12. Rubén JustoJun 16, 2023
  13. 05/11 branch: fix a leak in setup_trackingRubén Justo, Jun 11, 2023
  14. Jeff KingJun 12, 2023
  15. Rubén JustoJun 16, 2023
  16. 06/11 branch: fix a leak in cmd_branchRubén Justo, Jun 11, 2023
  17. Jeff KingJun 12, 2023
  18. Rubén JustoJun 16, 2023
  19. 07/11 branch: fix a leak in inherit_trackingRubén Justo, Jun 11, 2023
  20. Jeff KingJun 12, 2023
  21. 08/11 branch: fix a leak in check_tracking_branchRubén Justo, Jun 11, 2023
  22. Jeff KingJun 12, 2023
  23. 09/11 branch: fix a leak in setup_trackingRubén Justo, Jun 11, 2023
  24. Jeff KingJun 12, 2023
  25. 10/11 config: fix a leak in git_config_copy_or_rename_section_in_fileRubén Justo, Jun 11, 2023
  26. Jeff KingJun 12, 2023
  27. Rubén JustoJun 16, 2023
  28. 11/11 tests: mark as passing with SANITIZE=leakRubén Justo, Jun 11, 2023
  29. Rubén JustoJun 11, 2023
  30. Jeff KingJun 12, 2023
  31. Rubén JustoJun 16, 2023
  32. Junio C HamanoJun 13, 2023
  33. 0/5 tests: mark as passing with SANITIZE=leakRubén Justo, Jun 16, 2023
  34. 1/5 rev-parse: fix a leak with --abbrev-refRubén Justo, Jun 16, 2023
  35. 2/5 branch: fix a leak in setup_trackingRubén Justo, Jun 16, 2023
  36. 3/5 branch: fix a leak in cmd_branchRubén Justo, Jun 16, 2023
  37. 4/5 config: fix a leak in git_config_copy_or_rename_section_in_fileRubén Justo, Jun 16, 2023
  38. 5/5 tests: mark as passing with SANITIZE=leakRubén Justo, Jun 16, 2023
  39. Junio C HamanoJun 16, 2023
  40. Jeff KingJun 17, 2023
  41. Rubén JustoJun 17, 2023
  42. 0/5 tests: mark as passing with SANITIZE=leakRubén Justo, Jun 17, 2023
  43. 1/5 rev-parse: fix a leak with --abbrev-refRubén Justo, Jun 17, 2023
  44. 2/5 branch: fix a leak in setup_trackingRubén Justo, Jun 17, 2023
  45. 3/5 branch: fix a leak in cmd_branchRubén Justo, Jun 17, 2023
  46. 4/5 config: fix a leak in git_config_copy_or_rename_section_in_fileRubén Justo, Jun 17, 2023
  47. 5/5 tests: mark as passing with SANITIZE=leakRubén Justo, Jun 17, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.