summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-01-27 15:23:46 -0800
committerJunio C Hamano <gitster@pobox.com>2009-01-27 15:23:46 -0800
commit899d8dc392494e78040ea13db202de894040bda8 (patch)
tree0b13799456de241812e1bb44863e31c1851ba19b
parent5c415311f743ccb11a50f350ff1c385778f049d6 (diff)
parentb8469ad0578d6b84ec92752a5f8df3ca5828af77 (diff)
downloadgit-899d8dc392494e78040ea13db202de894040bda8.tar.gz
Merge branch 'maint-1.6.0' into maint
* maint-1.6.0: test-path-utils: Fix off by one, found by valgrind get_sha1_basic(): fix invalid memory access, found by valgrind
-rw-r--r--sha1_name.c2
-rw-r--r--test-path-utils.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sha1_name.c b/sha1_name.c
index 159c2ab84f..722fc35a6d 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -309,7 +309,7 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1)
/* basic@{time or number} format to query ref-log */
reflog_len = at = 0;
- if (str[len-1] == '}') {
+ if (len && str[len-1] == '}') {
for (at = 0; at < len - 1; at++) {
if (str[at] == '@' && str[at+1] == '{') {
reflog_len = (len-1) - (at+2);
diff --git a/test-path-utils.c b/test-path-utils.c
index a0bcb0e210..2c0f5a37e8 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);