Skip to content

Commit 11d6c46

Browse files
[3.13] gh-139330: Check expat version/checksum in SBOM with refresh.sh
gh-139330: Check expat version/checksum in SBOM with refresh.sh Check expat version/checksum in SBOM with refresh.sh (cherry picked from commit 89b5571) Co-authored-by: Seth Michael Larson <[email protected]>
1 parent d1f6b39 commit 11d6c46

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
SBOM generation tool didn't cross-check the version and checksum values
2+
against the ``Modules/expat/refresh.sh`` script, leading to the values
3+
becoming out-of-date during routine updates.

Misc/sbom.spdx.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Tools/build/generate_sbom.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,14 +245,14 @@ def check_sbom_packages(sbom_data: dict[str, typing.Any]) -> None:
245245
)
246246

247247
# libexpat specifies its expected rev in a refresh script.
248-
if package["name"] == "libexpat":
248+
if package["name"] == "expat":
249249
libexpat_refresh_sh = (CPYTHON_ROOT_DIR / "Modules/expat/refresh.sh").read_text()
250250
libexpat_expected_version_match = re.search(
251251
r"expected_libexpat_version=\"([0-9]+\.[0-9]+\.[0-9]+)\"",
252252
libexpat_refresh_sh
253253
)
254254
libexpat_expected_sha256_match = re.search(
255-
r"expected_libexpat_sha256=\"[a-f0-9]{40}\"",
255+
r"expected_libexpat_sha256=\"([a-f0-9]{64})\"",
256256
libexpat_refresh_sh
257257
)
258258
libexpat_expected_version = libexpat_expected_version_match and libexpat_expected_version_match.group(1)

0 commit comments

Comments
 (0)