[11.x] Fix join_paths
issue with segment '0'
#51649
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
since the join_paths() function internally uses the
empty
function to filter out empty strings and prevent double slashes in the end result, it also filters out a perfectly valid path segment with the value of '0'.empty('0');
// trueempty('');
// truea folder with the name "0" is perfectly valid in Windows and UNIX, so there is no reason to delete 0 from segments while joining them.
Backward compatibility:
This is not in theory backward compatible but statistically very rare to happen and very rare for an application to rely on this flaw to work correctly.