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

[PATCH 2/2] get_sha1_basic(): fix invalid memory access, found by valgrind

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jan 27, 2009, 23:07 UTC
Message-ID
<alpine.DEB.1.00.0901280007400.3586@pacific.mpi-cbg.de>
In-Reply-To
<alpine.DEB.1.00.0901280005180.3586@pacific.mpi-cbg.de>

When get_sha1_basic() is passed a buffer of len 0, it should not check if buf[len-1] is a curly bracket.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 sha1_name.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sha1_name.c b/sha1_name.c
index 7d95bbb..5d0ac02 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -334,7 +334,7 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1)
 
 	/* basic@{time or number or -number} format to query ref-log */
 	reflog_len = at = 0;
-	if (str[len-1] == '}') {
+	if (len && str[len-1] == '}') {
 		for (at = len-2; at >= 0; at--) {
 			if (str[at] == '@' && str[at+1] == '{') {
 				reflog_len = (len-1) - (at+2);
-- 
1.6.1.482.g7d54be
Previous: Johannes SchindelinNext: Junio C Hamano
Message 3 of 4 in “Fix two issues found by valgrind”
  1. 0/2 Fix two issues found by valgrindJohannes Schindelin, Jan 27, 2009
  2. 1/2 test-path-utils: Fix off by one, found by valgrindJohannes Schindelin, Jan 27, 2009
  3. 2/2 get_sha1_basic(): fix invalid memory access, found by valgrindJohannes Schindelin, Jan 27, 2009
  4. Junio C HamanoJan 27, 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.