zstd
zstd copied to clipboard
`convertPathnameToDirName` fails to strip trailing slashes due to off‑by‑one index
Describe the bug
In convertPathnameToDirName(), the code attempts to remove trailing / characters with:
len = strlen(pathname);
while (pathname[len] == PATH_SEP) {
pathname[len] = '\0';
len--;
}
However, strlen(pathname) is the index of the terminating NUL. As a result pathname[len] is always '\0', never '/', so the loop never runs and trailing slashes remain.
To Reproduce
- Call
convertPathnameToDirName("foo/bar/"). - Expect
"foo/bar", but function returns"foo/bar/".