From cb1614c02d7c605841d98c4c2cff402ae3abc6ed Mon Sep 17 00:00:00 2001 From: Nandu Krishna Date: Sat, 26 Jul 2025 10:53:05 +0530 Subject: [PATCH 1/2] Fix bug in cargo parent path detection Signed-off-by: Nandu Krishna --- src/packagedcode/cargo.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/packagedcode/cargo.py b/src/packagedcode/cargo.py index 3a0533d8f9..a7c8fddc8f 100644 --- a/src/packagedcode/cargo.py +++ b/src/packagedcode/cargo.py @@ -59,7 +59,8 @@ def assemble(cls, package_data, resource, codebase, package_adder): package_data.extra_data[attribute] = 'workspace' workspace_package_data[attribute] = getattr(package_data, attribute) - workspace_root_path = resource.parent(codebase).path + parent = resource.parent(codebase) + workspace_root_path = parent.path if parent else None if workspace_package_data and workspace_members: # TODO: support glob patterns found in cargo workspaces @@ -97,7 +98,7 @@ def assemble(cls, package_data, resource, codebase, package_adder): else: yield from cls.assemble_from_many_datafiles( datafile_name_patterns=('Cargo.toml', 'cargo.toml', 'Cargo.lock', 'cargo.lock'), - directory=resource.parent(codebase), + directory=resource.parent(codebase) or resource, codebase=codebase, package_adder=package_adder, ) From 3470335a5fab815f09d3340c1777fbb9bdd5d6d5 Mon Sep 17 00:00:00 2001 From: Nandu Krishna Date: Sat, 26 Jul 2025 12:16:33 +0530 Subject: [PATCH 2/2] Update changelog for Cargo parent fix --- CHANGELOG.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 0d745db06a..327993175c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -10,6 +10,9 @@ Next release https://github.com/aboutcode-org/scancode-toolkit/pull/4474 https://github.com/aboutcode-org/scancode-toolkit/issues/4101 +- Fix: Prevent crash when parent resource is missing in Cargo package assembler. Thanks [@Iron-56](https://github.com/Iron-56)! + https://github.com/nexB/scancode-toolkit/issues/1436 + v32.4.1 - 2025-07-23 --------------------