Skip to content

Commit dc59914

Browse files
committed
fix(parser) parsers were able to share state unexpectedly
Signed-off-by: Paul Horton <[email protected]>
1 parent 1c0aa71 commit dc59914

File tree

3 files changed

+7
-0
lines changed

3 files changed

+7
-0
lines changed

cyclonedx/parser/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
class BaseParser(ABC):
2424
_components: List[Component] = []
2525

26+
def __init__(self):
27+
self._components.clear()
28+
2629
def component_count(self) -> int:
2730
return len(self._components)
2831

cyclonedx/parser/environment.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ class EnvironmentParser(BaseParser):
3737
"""
3838

3939
def __init__(self):
40+
super().__init__()
41+
4042
import pkg_resources
4143

4244
i: pkg_resources.DistInfoDistribution

cyclonedx/parser/requirements.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
class RequirementsParser(BaseParser):
2727

2828
def __init__(self, requirements_content: str):
29+
super().__init__()
30+
2931
requirements = pkg_resources.parse_requirements(requirements_content)
3032
for requirement in requirements:
3133
"""

0 commit comments

Comments
 (0)