aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2012-09-07 00:40:59 +0200
committerJunio C Hamano <gitster@pobox.com>2012-09-06 16:19:58 -0700
commita0601dc11fab5b4525a348b2ad6c9bb92529a281 (patch)
tree628295dbf72b172bd4a0b11148097f4f178cc616
parent17264bcc4f580d5e2a94703967236e770f6e236f (diff)
downloadgit-a0601dc11fab5b4525a348b2ad6c9bb92529a281.tar.gz
git-a0601dc11fab5b4525a348b2ad6c9bb92529a281.tar.xz
absolute_path(): reject the empty string
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--abspath.c4
-rwxr-xr-xt/t0060-path-utils.sh2
2 files changed, 4 insertions, 2 deletions
diff --git a/abspath.c b/abspath.c
index f04ac18e3..5d624307d 100644
--- a/abspath.c
+++ b/abspath.c
@@ -123,7 +123,9 @@ const char *absolute_path(const char *path)
{
static char buf[PATH_MAX + 1];
- if (is_absolute_path(path)) {
+ if (!*path) {
+ die("The empty string is not a valid path");
+ } else if (is_absolute_path(path)) {
if (strlcpy(buf, path, PATH_MAX) >= PATH_MAX)
die("Too long path: %.*s", 60, path);
} else {
diff --git a/t/t0060-path-utils.sh b/t/t0060-path-utils.sh
index d91e51675..924aa607d 100755
--- a/t/t0060-path-utils.sh
+++ b/t/t0060-path-utils.sh
@@ -140,7 +140,7 @@ test_expect_success 'strip_path_suffix' '
c:/msysgit/libexec//git-core libexec/git-core)
'
-test_expect_failure 'absolute path rejects the empty string' '
+test_expect_success 'absolute path rejects the empty string' '
test_must_fail test-path-utils absolute_path ""
'