]> git.ipfire.org Git - thirdparty/git.git/commit - branch.c
branch: fix a leak in check_tracking_branch
authorRubén Justo <rjusto@gmail.com>
Sun, 11 Jun 2023 18:50:27 +0000 (20:50 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 12 Jun 2023 22:06:03 +0000 (15:06 -0700)
commitcaee1d669c937a6b9d871901acbf9a5643a3fd9f
tree6ec70a6fed0881ac78cae15946e92763022bdeb0
parenta88a3d7cd7cee64fd29fe2a4c6c7a0511f398bfb
branch: fix a leak in check_tracking_branch

Let's fix a leak we have in check_tracking_branch() since the function
was introduced in 41c21f22d0 (branch.c: Validate tracking branches with
refspecs instead of refs/remotes/*, 2013-04-21).

The leak can be reviewed with:

   $ git remote add local .
   $ git update-ref refs/remotes/local/foo HEAD
   $ git branch --track bar local/foo

   Direct leak of 24 byte(s) in 1 object(s) allocated from:
       ... in xrealloc wrapper.c
       ... in strbuf_grow strbuf.c
       ... in strbuf_add strbuf.c
       ... in match_name_with_pattern remote.c
       ... in query_refspecs remote.c
       ... in remote_find_tracking remote.c
       ... in check_tracking_branch branch.c
       ... in for_each_remote remote.c
       ... in validate_remote_tracking_branch branch.c
       ... in dwim_branch_start branch.c
       ... in create_branch branch.c
       ... in cmd_branch builtin/branch.c
       ... in run_builtin git.c

Signed-off-by: Rubén Justo <rjusto@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
branch.c