absolute_path(): reject the empty string
authorMichael Haggerty <mhagger@alum.mit.edu>
Thu, 6 Sep 2012 22:40:59 +0000 (00:40 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 6 Sep 2012 23:19:58 +0000 (16:19 -0700)
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
abspath.c
t/t0060-path-utils.sh
index f04ac18e33063f7e2cb9ab9eab9a6b86cb089b5a..5d624307d5a68ced9ff07c7c19e2ac603c67def6 100644 (file)
--- 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 {
index d91e5167503d2cecc2ae2d83a20b1ba1a71a5b0f..924aa607d7c2421a664cec49e80baa6d3f66c120 100755 (executable)
@@ -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 ""
 '