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

[PATCH 2/2] sha1_name.c: avoid unnecessary strbuf_release

From
Brandon Casey <casey@nrlssc.navy.mil>
Date
Jul 16, 2009, 21:25 UTC
Message-ID
<W0GiRm9n1NEfjVB8xBotan7WQ5BVS-0Yy_3hikrJN4b57ORvs0sreBFZFVMQljOVkzTQg_oO16A@cipher.nrlssc.navy.mil>
In-Reply-To
<W0GiRm9n1NEfjVB8xBotapRpIoR0jr6qkttRpkkGMPpe-bfqtvLM7YBvkMsGo7-vheQxRPBUAEU@cipher.nrlssc.navy.mil>
From: Brandon Casey <drafnel@gmail.com>

When we fall back to a standard for_each_reflog_ent() after failing to find the nth branch switch (or if we had a short reflog) with the call to for_each_recent_reflog_ent(), we do not need to free the memory allocated for our strbuf's since a strbuf_reset() will be performed in grab_nth_branch_switch() before assigning to the entry.

Plus, the strbuf_release() negates the non-zero hint we initially gave to strbuf_init() just above these lines.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
---
 sha1_name.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/sha1_name.c b/sha1_name.c
index 904bcd9..44bb62d 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -777,8 +777,6 @@ int interpret_branch_name(const char *name, struct strbuf *buf)
 	for_each_recent_reflog_ent("HEAD", grab_nth_branch_switch, 40960, &cb);
 	if (cb.cnt < nth) {
 		cb.cnt = 0;
-		for (i = 0; i < nth; i++)
-			strbuf_release(&cb.buf[i]);
 		for_each_reflog_ent("HEAD", grab_nth_branch_switch, &cb);
 	}
 	if (cb.cnt < nth)
-- 
1.6.3.1.24.g152f4
Previous: Brandon Casey
Message 3 of 3 in “Two miscellaneous patches found while debugging 'next'”
  1. 0/2 Two miscellaneous patches found while debugging 'next'Brandon Casey, Jul 16, 2009
  2. 1/2 refs.c: release file descriptor on error returnBrandon Casey, Jul 16, 2009
  3. 2/2 sha1_name.c: avoid unnecessary strbuf_releaseBrandon Casey, Jul 16, 2009

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.