[Buildroot] [PATCH] utils/generate-cyclonedx: fix monotonically increasing dependency list
Thomas Perale
thomas.perale at mind.be
Tue Oct 7 20:07:40 UTC 2025
In reply of:
> Having mutables as default args has unexpected behaviors.
> br2_parse_deps_recursively had a default arg `deps` initialized to the
> empty list (`[]`) except that on subsequent calls from `main` deps would
> already be populated from prior components.
Hi, thanks for the bug fix !
Reviewed-by: Thomas Perale <thomas.perale at mind.be>
> ---
> utils/generate-cyclonedx | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/utils/generate-cyclonedx b/utils/generate-cyclonedx
> index 60983ac1ea..7d3ef57ab3 100755
> --- a/utils/generate-cyclonedx
> +++ b/utils/generate-cyclonedx
> @@ -238,7 +238,7 @@ def cyclonedx_vulnerabilities(show_info_dict):
> } for cve, components in cves.items()]
>
>
> -def br2_parse_deps_recursively(ref, show_info_dict, virtual=False, deps=[]):
> +def br2_parse_deps_recursively(ref, show_info_dict, virtual=False, deps=None):
> """Parse dependencies from the show-info output. This function will
> recursively collect all dependencies, and return a list where each dependency
> is stated at most once.
> @@ -258,6 +258,8 @@ def br2_parse_deps_recursively(ref, show_info_dict, virtual=False, deps=[]):
> Returns:
> list: A list of dependencies of the 'ref' package.
> """
> + if deps is None:
> + deps = []
> for dep in show_info_dict.get(ref, {}).get("dependencies", []):
> if dep not in deps:
> if virtual or show_info_dict.get(dep, {}).get("virtual") is False:
> --
> 2.51.0
>
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
More information about the buildroot
mailing list