flink
flink copied to clipboard
[FLINK-29122][core] Improve robustness of FileUtils.expandDirectory()
What is the purpose of the change
This pull request adds additional checks to improve robustness of FileUtils.expandDirectory() method.
Brief change log
- Adds additional checks in expandDirectory() method to ensure any paths don't refer to locations outside target directory. Check is recursive and ensures the expanded path is fully contained inside the target directory.
Verifying this change
This change added tests and can be verified as follows:
- Added unit test to account for relative paths within target directory (these accesses should be allowed)
- Added unit test for access outside target directory (these should fail with I/O Exception)
Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): no
- The public API, i.e., is any changed class annotated with
@Public(Evolving): no - The serializers: no
- The runtime per-record code paths (performance sensitive): no
- Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
- The S3 file system connector: no
Documentation
- Does this pull request introduce a new feature? no
CI report:
- 20c55551754dda75f74cacc463269b43d3435b3e UNKNOWN
- 284bbd78a7dce0f35656bb9217057f60a423e2a2 Azure: SUCCESS
Bot commands
The @flinkbot bot supports the following commands:@flinkbot run azurere-run the last Azure build