Skip to content

Commit ade85bc

Browse files
authored
[3.12] pythongh-139330: Check expat version/checksum in SBOM with refresh.sh
* [3.12] pythongh-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]> * 2.7.1
1 parent cc9a7d8 commit ade85bc

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
@@ -224,14 +224,14 @@ def check_sbom_packages(sbom_data: dict[str, typing.Any]) -> None:
224224
)
225225

226226
# libexpat specifies its expected rev in a refresh script.
227-
if package["name"] == "libexpat":
227+
if package["name"] == "expat":
228228
libexpat_refresh_sh = (CPYTHON_ROOT_DIR / "Modules/expat/refresh.sh").read_text()
229229
libexpat_expected_version_match = re.search(
230230
r"expected_libexpat_version=\"([0-9]+\.[0-9]+\.[0-9]+)\"",
231231
libexpat_refresh_sh
232232
)
233233
libexpat_expected_sha256_match = re.search(
234-
r"expected_libexpat_sha256=\"[a-f0-9]{40}\"",
234+
r"expected_libexpat_sha256=\"([a-f0-9]{64})\"",
235235
libexpat_refresh_sh
236236
)
237237
libexpat_expected_version = libexpat_expected_version_match and libexpat_expected_version_match.group(1)

0 commit comments

Comments
 (0)