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

[PATCH] Fix update-cache --remove fix.

From
Junio C Hamano <junkio@cox.net>
Date
Apr 17, 2005, 08:58 UTC
Message-ID
<7v3btp230d.fsf@assigned-by-dhcp.cox.net>

There is a boundary case bug in the update-cache --remove fix I sent earlier, which results in a segfault when trying to remove a nonexistent name that sorts later than anything in the dircache. Here is a fix.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 read-cache.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

read-cache.c: 60b8efb3201fbf0a67bef48775bd1c9a1ccae2ff --- read-cache.c +++ read-cache.c 2005-04-17 01:50:00.000000000 -0700

@@ -371,7 +371,8 @@
 	int pos = cache_name_pos(path, strlen(path));
 	if (pos < 0)
 		pos = -pos-1;
-	while (! strcmp(active_cache[pos]->name, path))
+	while ((pos < active_nr) &&
+	       ! strcmp(active_cache[pos]->name, path))
 		remove_entry_at(pos);
 	return 0;
 }
Message 1 of 1 in “Fix update-cache --remove fix.”
  1. Fix update-cache --remove fix.Junio C Hamano, Apr 17, 2005

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.