From Jérôme Duval <jerome.duval@xxxxxxxxx>:
Jérôme Duval has uploaded this change for review. (
https://review.haiku-os.org/c/haiku/+/5395 ;)
Change subject: kernel/vfs: lstat a symlinked dir with a trailing slash should
traverse
......................................................................
kernel/vfs: lstat a symlinked dir with a trailing slash should traverse
golang's TestSymlinkWithTrailingSlash exhibits the bug.
---
M src/system/kernel/fs/vfs.cpp
1 file changed, 3 insertions(+), 1 deletion(-)
git pull ssh://git.haiku-os.org:22/haiku refs/changes/95/5395/1
diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp
index 938507c..c994180 100644
--- a/src/system/kernel/fs/vfs.cpp
+++ b/src/system/kernel/fs/vfs.cpp
@@ -2179,7 +2179,9 @@
for (nextPath = path + 1; *nextPath != '\0' && *nextPath != '/';
nextPath++);
+ bool directoryFound = false;
if (*nextPath == '/') {
+ directoryFound = true;
*nextPath = '\0';
do
nextPath++;
@@ -2226,7 +2228,7 @@
// If the new node is a symbolic link, resolve it (if we've
been told
// to do it)
if (S_ISLNK(nextVnode->Type())
- && (traverseLeafLink || nextPath[0] != '\0')) {
+ && (traverseLeafLink || directoryFound)) {
size_t bufferSize;
char* buffer;
--
To view, visit https://review.haiku-os.org/c/haiku/+/5395
To unsubscribe, or for help writing mail filters, visit
https://review.haiku-os.org/settings
Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: I7e16bad9857e9be042fc215a587c861bc4eef716
Gerrit-Change-Number: 5395
Gerrit-PatchSet: 1
Gerrit-Owner: Jérôme Duval <jerome.duval@xxxxxxxxx>
Gerrit-MessageType: newchange