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

[PATCH] archive: release refname after use

From
René Scharfe <l.s.r@web.de>
Date
Nov 14, 2020, 22:01 UTC
Message-ID
<7692d2f3-0a3b-91cd-c454-9725b0a395a7@web.de>

parse_treeish_arg() uses dwim_ref() to set refname to a strdup'd string. Release it after use. Also remove the const qualifier from the refname member to signify that ownership of the string is handed to the struct, leaving cleanup duty with the caller of parse_treeish_arg(), thus avoiding a cast.

Signed-off-by: René Scharfe <l.s.r@web.de>
---
 archive.c | 1 +
 archive.h | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/archive.c b/archive.c
index 3c1541af9e..da89d292c2 100644
--- a/archive.c
+++ b/archive.c
@@ -662,6 +662,7 @@ int write_archive(int argc, const char **argv, const char *prefix,
 	rc = ar->write_archive(ar, &args);

 	string_list_clear_func(&args.extra_files, extra_file_info_clear);
+	free(args.refname);

 	return rc;
 }
diff --git a/archive.h b/archive.h
index 82b226011a..43028ffbf3 100644
--- a/archive.h
+++ b/archive.h
@@ -8,7 +8,7 @@ struct repository;

 struct archiver_args {
 	struct repository *repo;
-	const char *refname;
+	char *refname;
 	const char *prefix;
 	const char *base;
 	size_t baselen;
--
2.29.2
Next: Jeff King
Message 1 of 2 in “archive: release refname after use”
  1. archive: release refname after useRené Scharfe, Nov 14, 2020
  2. Jeff KingNov 17, 2020

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.