From 4a3c610cd635f14747cf02c77908e80620aae6ea Mon Sep 17 00:00:00 2001
From: Steve Dower <steve.dower@python.org>
Date: Mon, 7 Mar 2022 19:34:46 +0000
Subject: [PATCH] bpo-44549: Update bzip2 to 1.0.8 in Windows builds to
 mitigate CVE-2016-3189 and CVE-2019-12900 (GH-31732) (GH-31735)

---
 .../next/Windows/2022-03-07-17-46-40.bpo-44549.SPrGS9.rst       | 2 ++
 PCbuild/get_externals.bat                                       | 2 +-
 PCbuild/python.props                                            | 2 +-
 PCbuild/readme.txt                                              | 2 +-
 4 files changed, 5 insertions(+), 3 deletions(-)
 create mode 100644 Misc/NEWS.d/next/Windows/2022-03-07-17-46-40.bpo-44549.SPrGS9.rst

diff --git a/Misc/NEWS.d/next/Windows/2022-03-07-17-46-40.bpo-44549.SPrGS9.rst b/Misc/NEWS.d/next/Windows/2022-03-07-17-46-40.bpo-44549.SPrGS9.rst
new file mode 100644
index 00000000000..0f1ef9af6c6
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2022-03-07-17-46-40.bpo-44549.SPrGS9.rst
@@ -0,0 +1,2 @@
+Update bzip2 to 1.0.8 in Windows builds to mitigate CVE-2016-3189 and
+CVE-2019-12900
diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat
index 38fc2756b18..9c7f81542ed 100644
--- a/PCbuild/get_externals.bat
+++ b/PCbuild/get_externals.bat
@@ -48,7 +48,7 @@ if NOT DEFINED PYTHON (
 echo.Fetching external libraries...
 
 set libraries=
-set libraries=%libraries%                                       bzip2-1.0.6
+set libraries=%libraries%                                       bzip2-1.0.8
 if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries%     openssl-1.1.1g
 set libraries=%libraries%                                       sqlite-3.31.1.0
 if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tcl-core-8.6.9.0
diff --git a/PCbuild/python.props b/PCbuild/python.props
index 1034e7f3da3..d3ad12c7283 100644
--- a/PCbuild/python.props
+++ b/PCbuild/python.props
@@ -47,7 +47,7 @@
     <ExternalsDir Condition="$(ExternalsDir) == ''">$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals`))</ExternalsDir>
     <ExternalsDir Condition="!HasTrailingSlash($(ExternalsDir))">$(ExternalsDir)\</ExternalsDir>
     <sqlite3Dir>$(ExternalsDir)sqlite-3.31.1.0\</sqlite3Dir>
-    <bz2Dir>$(ExternalsDir)bzip2-1.0.6\</bz2Dir>
+    <bz2Dir>$(ExternalsDir)bzip2-1.0.8\</bz2Dir>
     <lzmaDir>$(ExternalsDir)xz-5.2.2\</lzmaDir>
     <opensslDir>$(ExternalsDir)openssl-1.1.1g\</opensslDir>
     <opensslOutDir>$(ExternalsDir)openssl-bin-1.1.1g\$(ArchName)\</opensslOutDir>
diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
index 9c521fa52d8..5e57a9590cb 100644
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -157,7 +157,7 @@ interpreter, but they do implement several major features.  See the
 about getting the source for building these libraries.  The sub-projects
 are:
 _bz2
-    Python wrapper for version 1.0.6 of the libbzip2 compression library
+    Python wrapper for version 1.0.8 of the libbzip2 compression library
     Homepage:
         http://www.bzip.org/
 _lzma
-- 
GitLab