mirror of
https://git.yoctoproject.org/poky
synced 2026-02-06 00:38:45 +01:00
* CVE-2018-1000030-1 [2.7] bpo-31530: Stop crashes when iterating over a file on multiple threads * CVE-2018-1000030-2 Multiple threads iterating over a file can corrupt the file's internal readahead buffer resulting in crashes. To fix this, cache buffer state thread-locally for the duration of a file_iternext call and only update the file's internal state after reading completes. No attempt is made to define or provide "reasonable" semantics for iterating over a file on multiple threads. (Non-crashing) races are still present. Duplicated, corrupt, and missing data will happen. This was originally fixed by 6401e56, which raised an exception from seek() and next() when concurrent operations were detected. Alas, this simpler solution breaks legitimate use cases such as capturing the standard streams when multiple threads are logging. Affects python <= 2.7.14 (From OE-Core rev: 4b6c84e0f950f839bfb8c40f197197f838d8b733) Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
43 lines
1.3 KiB
PHP
43 lines
1.3 KiB
PHP
SUMMARY = "The Python Programming Language"
|
|
HOMEPAGE = "http://www.python.org"
|
|
LICENSE = "PSFv2"
|
|
SECTION = "devel/python"
|
|
# bump this on every change in contrib/python/generate-manifest-2.7.py
|
|
INC_PR = "r1"
|
|
|
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=f741e51de91d4eeea5930b9c3c7fa69d"
|
|
|
|
SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
|
|
file://CVE-2018-1000030-1.patch \
|
|
file://CVE-2018-1000030-2.patch"
|
|
|
|
SRC_URI[md5sum] = "1f6db41ad91d9eb0a6f0c769b8613c5b"
|
|
SRC_URI[sha256sum] = "71ffb26e09e78650e424929b2b457b9c912ac216576e6bd9e7d204ed03296a66"
|
|
|
|
# python recipe is actually python 2.x
|
|
# also, exclude pre-releases for both python 2.x and 3.x
|
|
UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>2(\.\d+)+).tar"
|
|
|
|
CVE_PRODUCT = "python"
|
|
|
|
PYTHON_MAJMIN = "2.7"
|
|
|
|
inherit autotools pkgconfig
|
|
|
|
EXTRA_OECONF = "\
|
|
--with-threads \
|
|
--with-pymalloc \
|
|
--without-cxx-main \
|
|
--with-signal-module \
|
|
--enable-shared \
|
|
--enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)} \
|
|
ac_cv_header_bluetooth_bluetooth_h=no ac_cv_header_bluetooth_h=no \
|
|
${PYTHONLSBOPTS} \
|
|
"
|
|
|
|
do_install_append () {
|
|
sed -i -e 's:${HOSTTOOLS_DIR}/install:install:g' \
|
|
-e 's:${HOSTTOOLS_DIR}/mkdir:mkdir:g' \
|
|
${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py
|
|
}
|