fix(libscan): delete map that keeps all file contents detected by FindLock to save memory #1556
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.
What did you implement:
vulsdoc/vuls#219
Reduce memory usage of FindLock
When we run config.toml with FindLock specified, it found lock files, jars, etc., in all directories under root. Unfortunately, due to a rough implementation, the contents of the detected files were stored on a Map, which increased memory usage when the number of detected files was large. In some cases, this resulted in Kernel Out of memory.
FindLockDirs
Automatic lockfile detection
If
findLock=true
andfindLockDirs
are specified, libraries on the local file system can be automatically detected by thefind
command.NOTE: When
findLock = true
, the target lockfile depends on the scan mode and scan user privilege.When scan mode is fast, it depends on the privilege of the scan user. If the scan user does not have the root privilege, lockfiles that require the root privilege will not be detected.
When scan mode is fast-root, lockfiles are detected with root privileges.
Type of change
How Has This Been Tested?
Checklist:
make fmt
make test
Is this ready for review?: YES