summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2012-09-07 00:41:01 +0200
committerJunio C Hamano <gitster@pobox.com>2012-09-06 16:19:58 -0700
commit3efe5d1d32fde899b23ebbb1fde499a0897e1c4e (patch)
tree5bfe709bf2c890f6160f73ba1bd00aeda6d03e40
parenta5c45218b63ce7ac6f5a4a48c4312a1e37e01f3f (diff)
downloadgit-3efe5d1d32fde899b23ebbb1fde499a0897e1c4e.tar.gz
real_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.c3
-rwxr-xr-xt/t0060-path-utils.sh2
2 files changed, 4 insertions, 1 deletions
diff --git a/abspath.c b/abspath.c
index 5d624307d5..3e8325c736 100644
--- a/abspath.c
+++ b/abspath.c
@@ -35,6 +35,9 @@ const char *real_path(const char *path)
if (path == buf || path == next_buf)
return path;
+ if (!*path)
+ die("The empty string is not a valid path");
+
if (strlcpy(buf, path, PATH_MAX) >= PATH_MAX)
die ("Too long path: %.*s", 60, path);
diff --git a/t/t0060-path-utils.sh b/t/t0060-path-utils.sh
index 1118056a1f..fab5ea28b2 100755
--- a/t/t0060-path-utils.sh
+++ b/t/t0060-path-utils.sh
@@ -144,7 +144,7 @@ test_expect_success 'absolute path rejects the empty string' '
test_must_fail test-path-utils absolute_path ""
'
-test_expect_failure 'real path rejects the empty string' '
+test_expect_success 'real path rejects the empty string' '
test_must_fail test-path-utils real_path ""
'