diff --git a/abspath.c b/abspath.c index f04ac18e33063f7e2cb9ab9eab9a6b86cb089b5a..5d624307d5a68ced9ff07c7c19e2ac603c67def6 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 d91e5167503d2cecc2ae2d83a20b1ba1a71a5b0f..924aa607d7c2421a664cec49e80baa6d3f66c120 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 "" '