Fix --exclude parameter issue by restoring logic from v3.1.2 #5162
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.
Summary
This PR fixes a regression where the
--exclude
parameter became ineffective starting from version 3.2. The issue was due to a change in the way directory paths were constructed inutil.py
during recursive scanning.By restoring the use of
os.path.join(...)
instead ofPath(...)/...
, folder name patterns passed via--exclude
now match correctly against directory paths.Changes
str(Path(...)/dirname)
withos.path.join(...)
inwalk()
method incve_bin_tool/util.py
self.folder_exclude_pattern
expectsRoot Cause
Path(...) / dirname
produces aPath
object, andstr()
creates a platform-dependent string (e.g., PosixPath or WindowsPath).--exclude
regex patterns (typically slash-based), these values failed to match.os.path.join(...)
restores the correct string structure for filtering.Affected Version(s)