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

[PATCH] Initialize lock_file struct to all zero.

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jun 19, 2006, 22:55 UTC
Message-ID
<Pine.LNX.4.63.0606200054290.26329@wbgn013.biozentrum.uni-wuerzburg.de>
hold_lock_file_for_update() relies on that.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
	Bugs like this drive you crazy. You make a little change elsewhere,
	and all of a sudden, a test of git-update-index fails (since the 
	lock file is never removed).
 builtin-update-index.c |    2 +-
 builtin-write-tree.c   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/builtin-update-index.c b/builtin-update-index.c
index 325cd09..829ed23 100644
--- a/builtin-update-index.c
+++ b/builtin-update-index.c
@@ -490,7 +490,7 @@ int cmd_update_index(int argc, const cha
 	git_config(git_default_config);
 
 	/* We can't free this memory, it becomes part of a linked list parsed atexit() */
-	lock_file = xmalloc(sizeof(struct lock_file));
+	lock_file = xcalloc(1, sizeof(struct lock_file));
 
 	newfd = hold_lock_file_for_update(lock_file, get_index_file());
 	if (newfd < 0)
diff --git a/builtin-write-tree.c b/builtin-write-tree.c
index c3aac36..8c151da 100644
--- a/builtin-write-tree.c
+++ b/builtin-write-tree.c
@@ -16,7 +16,7 @@ int write_tree(unsigned char *sha1, int 
 	int entries, was_valid, newfd;
 
 	/* We can't free this memory, it becomes part of a linked list parsed atexit() */
-	struct lock_file *lock_file = xmalloc(sizeof(struct lock_file));
+	struct lock_file *lock_file = xcalloc(1, sizeof(struct lock_file));
 
 	newfd = hold_lock_file_for_update(lock_file, get_index_file());
 
-- 
1.4.0.g9833
Next: Junio C Hamano
Message 1 of 2 in “Initialize lock_file struct to all zero.”
  1. Initialize lock_file struct to all zero.Johannes Schindelin, Jun 19, 2006
  2. Junio C HamanoJun 20, 2006

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.