git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Fix two issues found by valgrind
@ 2009-01-27 23:07 Johannes Schindelin
  2009-01-27 23:07 ` [PATCH 1/2] test-path-utils: Fix off by one, " Johannes Schindelin
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Johannes Schindelin @ 2009-01-27 23:07 UTC (permalink / raw)
  To: git; +Cc: gitster

Okay, not tons of issues.  But at least it was worth the hassle.

Johannes Schindelin (2):
  test-path-utils: Fix off by one, found by valgrind
  get_sha1_basic(): fix invalid memory access, found by valgrind

 sha1_name.c       |    2 +-
 test-path-utils.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] test-path-utils: Fix off by one, found by valgrind
  2009-01-27 23:07 [PATCH 0/2] Fix two issues found by valgrind Johannes Schindelin
@ 2009-01-27 23:07 ` Johannes Schindelin
  2009-01-27 23:07 ` [PATCH 2/2] get_sha1_basic(): fix invalid memory access, " Johannes Schindelin
  2009-01-27 23:17 ` [PATCH 0/2] Fix two issues " Junio C Hamano
  2 siblings, 0 replies; 4+ messages in thread
From: Johannes Schindelin @ 2009-01-27 23:07 UTC (permalink / raw)
  To: git; +Cc: gitster

When normalizing an absolute path, we might have to add a slash _and_ a
NUL to the buffer, so the buffer was one too small.

Let's just future proof the code and alloc PATH_MAX + 1 bytes.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 test-path-utils.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/test-path-utils.c b/test-path-utils.c
index a0bcb0e..2c0f5a3 100644
--- a/test-path-utils.c
+++ b/test-path-utils.c
@@ -3,7 +3,7 @@
 int main(int argc, char **argv)
 {
 	if (argc == 3 && !strcmp(argv[1], "normalize_absolute_path")) {
-		char *buf = xmalloc(strlen(argv[2])+1);
+		char *buf = xmalloc(PATH_MAX + 1);
 		int rv = normalize_absolute_path(buf, argv[2]);
 		assert(strlen(buf) == rv);
 		puts(buf);
-- 
1.6.1.482.g7d54be

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] get_sha1_basic(): fix invalid memory access, found by valgrind
  2009-01-27 23:07 [PATCH 0/2] Fix two issues found by valgrind Johannes Schindelin
  2009-01-27 23:07 ` [PATCH 1/2] test-path-utils: Fix off by one, " Johannes Schindelin
@ 2009-01-27 23:07 ` Johannes Schindelin
  2009-01-27 23:17 ` [PATCH 0/2] Fix two issues " Junio C Hamano
  2 siblings, 0 replies; 4+ messages in thread
From: Johannes Schindelin @ 2009-01-27 23:07 UTC (permalink / raw)
  To: git; +Cc: gitster

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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/2] Fix two issues found by valgrind
  2009-01-27 23:07 [PATCH 0/2] Fix two issues found by valgrind Johannes Schindelin
  2009-01-27 23:07 ` [PATCH 1/2] test-path-utils: Fix off by one, " Johannes Schindelin
  2009-01-27 23:07 ` [PATCH 2/2] get_sha1_basic(): fix invalid memory access, " Johannes Schindelin
@ 2009-01-27 23:17 ` Junio C Hamano
  2 siblings, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2009-01-27 23:17 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: git

Johannes Schindelin <johannes.schindelin@gmx.de> writes:

> Okay, not tons of issues.  But at least it was worth the hassle.

Thanks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-01-27 23:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-27 23:07 [PATCH 0/2] Fix two issues found by valgrind Johannes Schindelin
2009-01-27 23:07 ` [PATCH 1/2] test-path-utils: Fix off by one, " Johannes Schindelin
2009-01-27 23:07 ` [PATCH 2/2] get_sha1_basic(): fix invalid memory access, " Johannes Schindelin
2009-01-27 23:17 ` [PATCH 0/2] Fix two issues " Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).