mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-06-05 08:11:15 -03:00
path_make_canonical mishandles empty string.
Fixes https://github.com/ridiculousfish/fishfish/issues/26
This commit is contained in:
@@ -576,7 +576,14 @@ static void test_path()
|
||||
if( canon != L"/foo/bar" )
|
||||
{
|
||||
err( L"Bug in canonical PATH code" );
|
||||
}
|
||||
}
|
||||
|
||||
path = L"/";
|
||||
path_make_canonical(path);
|
||||
if (path != L"/")
|
||||
{
|
||||
err( L"Bug in canonical PATH code" );
|
||||
}
|
||||
}
|
||||
|
||||
/** Test is_potential_path */
|
||||
|
||||
4
path.cpp
4
path.cpp
@@ -525,8 +525,8 @@ void path_make_canonical( wcstring &path )
|
||||
replace_all(path, L"//", L"/");
|
||||
} while (path.size() != size);
|
||||
|
||||
/* Remove trailing slashes */
|
||||
while (size--) {
|
||||
/* Remove trailing slashes, except don't remove the first one */
|
||||
while (size-- > 1) {
|
||||
if (path.at(size) != L'/')
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user