Skip to content

bugfix: fix file handle leaks and improve exception handling#2610

Open
mitre88 wants to merge 4 commits intoMobSF:masterfrom
mitre88:fix/file-handles-exceptions
Open

bugfix: fix file handle leaks and improve exception handling#2610
mitre88 wants to merge 4 commits intoMobSF:masterfrom
mitre88:fix/file-handles-exceptions

Conversation

@mitre88
Copy link
Copy Markdown

@mitre88 mitre88 commented May 1, 2026

Summary

Fix file handle leaks and improve exception handling.

Changes

  • mobsf/install/windows/setup.py: Use context managers for file open() calls to prevent resource leaks
  • mobsf/StaticAnalyzer/views/android/code_analysis.py: Replace bare except Exception with OSError for Windows path access issues

Why

  • Files opened without context managers leak handles if exceptions occur between open() and close()
  • Catching Exception is too broad and can hide serious issues; OSError is appropriate for file access errors

Open Source Contributor added 3 commits April 23, 2026 11:07
- Replace deprecated yaml.load() with yaml.safe_load() to prevent arbitrary code execution
- Add error logging to bare except Exception clause for better debugging
…ions.py

- Replace dangerous eval(compile(open(...).read(), ...)) pattern with safe importlib module loading
- Use importlib.util.spec_from_file_location and module_from_spec to properly import the Python file
- Eliminates risk of arbitrary code execution
- Use context managers for file open() calls in setup.py to prevent resource leaks
- Replace bare except Exception with OSError in code_analysis.py
@ajinabraham
Copy link
Copy Markdown
Member

Thanks for the PR. I will get back after testing this.

- Replace hashlib.md5 with hashlib.sha256 in utils.py get_md5() function
- Function name preserved for backwards compatibility but now returns SHA256
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants