summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* bpo-44689: ctypes.util.find_library() now finds macOS 11+ system libraries ↵Miss Islington (bot)2021-08-301-3/+26
| | | | | | | | when built on older macOS systems (GH-27251) (GH-28053) Previously, when built on older macOS systems, `find_library` was not able to find macOS system libraries when running on Big Sur due to changes in how system libraries are stored. (cherry picked from commit 71853a73024a98aa38a3c0444fe364dbd9709134) Co-authored-by: Tobias Bergkvist <tobias@bergkv.ist>
* bpo-44394: Update libexpat copy to 2.4.1 (GH-26945) (GH-28032)Miss Islington (bot)2021-08-2920-177/+1368
| | | | | | | | | | Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy is most used on Windows and macOS. Co-authored-by: Łukasz Langa <lukasz@langa.pl> (cherry picked from commit 3fc5d84046ddbd66abac5b598956ea34605a4e5d) Co-authored-by: Victor Stinner <vstinner@python.org>
* Fix typo in a comment in Modules/_ssl.c: s/validata/validate/ (GH-27993) ↵Miss Islington (bot)2021-08-271-1/+1
| | | | | | | (GH-27998) (cherry picked from commit 28db1f61f20352c02e4ae1518e5aeb6505df3045) Co-authored-by: Adam Dangoor <adamdangoor@gmail.com>
* [3.9] bpo-27334: roll back transaction if sqlite3 context manager fails to ↵Erlend Egeberg Aasland2021-08-251-10/+24
| | | | commit (GH-26202) (GH-27944)
* [3.9] bpo-44984: Rewrite test_null_strings in _testcapi (GH-27904) (GH-27910)Łukasz Langa2021-08-231-8/+16
| | | | | | Test also PyObject_Repr(NULL) and PyObject_Bytes(NULL).. (cherry picked from commit 4d689173861257c69adc6dc1dca4171946ddb57f) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* [3.9] bpo-44822: Don't truncate `str`s with embedded NULL chars returned by ↵Erlend Egeberg Aasland2021-08-061-3/+10
| | | | | | `sqlite3` UDF callbacks (GH-27588). (GH-27639) (cherry picked from commit 8f010dc920e1f6dc6a357e7cc1460a7a567c05c6)
* [3.9] bpo-43853: Handle sqlite3_value_text() errors (GH-25422). (GH-27627)Erlend Egeberg Aasland2021-08-061-11/+16
| | | | (cherry picked from commit 006fd869e4798b68e266f5de89c83ddb531a756b)
* [3.9] Update URLs in comments and metadata to use HTTPS (GH-27458) (GH-27480)Łukasz Langa2021-07-304-4/+4
| | | | | (cherry picked from commit be42c06bb01206209430f3ac08b72643dc7cad1c) Co-authored-by: Noah Kantrowitz <noah@coderanger.net>
* [3.9] bpo-31746: Prevent segfaults when sqlite3.Connection is uninitialised ↵Erlend Egeberg Aasland2021-07-291-7/+22
| | | | | | | (GH-27431) (GH-27465) (cherry picked from commit 7e311e496b0e26b3d3c62fe9b0ed2a4677c37ee9) Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
* bpo-40263: Fixes an off-by-one error in _winapi_WaitForMultipleObjects_impl ↵Miss Islington (bot)2021-07-281-1/+1
| | | | | | | (GH-19501) (cherry picked from commit 92b5dc780db968f6277f42cb06926dddb7475dc6) Co-authored-by: Ray Donnelly <mingw.android@gmail.com>
* bpo-44608: Fix memory leak in _tkinter._flatten() (GH-27107)Miss Islington (bot)2021-07-141-1/+3
| | | | | | if it is called with a sequence or set, but not list or tuple. (cherry picked from commit f572cbf1faab33d9afbbe3e95738ed6fbe6e48e6) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* bpo-44630: Fix assertion errors in csv module (GH-27127)Miss Islington (bot)2021-07-131-4/+8
| | | | | | | | | | | | | | | | Fix incorrect handling of exceptions when interpreting dialect objects in the csv module. Not clearing exceptions between calls to PyObject_GetAttrString() causes assertion failures in pydebug mode (or with assertions enabled). Add a minimal test that would've caught this (passing None as dialect, or any object that isn't a csv.Dialect subclass, which the csv module allows and caters to, even though it is not documented.) In pydebug mode, the test triggers the assertion failure in the old code. Contributed-By: T. Wouters [Google] (cherry picked from commit 0093876328afa330224c9d887c18dee0b3117852) Co-authored-by: T. Wouters <thomas@python.org>
* [3.9] bpo-44558: Match countOf `is`/`==` treatment to c (GH-27007). (GH-27055)Dong-hee Na2021-07-072-4/+4
|
* bpo-44563: Fix error handling in tee.fromiterable() (GH-27020) (GH-27042)Miss Islington (bot)2021-07-051-9/+10
| | | | | | In debug build failed tee.fromiterable() corrupted the linked list of all GC objects. (cherry picked from commit f64de53ff01e734d48d1d42195443d7d1646f220) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* bpo-41621: Document defaultdict's default_factory parameter (GH-21945)Miss Islington (bot)2021-06-221-1/+1
| | | | | | It defaults to None and is positional only. (cherry picked from commit d1ae57027fc39ff60dcfc1b63881400e5ca3ce56) Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com>
* bpo-44434: Don't call PyThread_exit_thread() explicitly (GH-26758) (GH-26825)Victor Stinner2021-06-211-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | _thread.start_new_thread() no longer calls PyThread_exit_thread() explicitly at the thread exit, the call was redundant. On Linux with the glibc, pthread_cancel() loads dynamically the libgcc_s.so.1 library. dlopen() can fail if there is no more available file descriptor to open the file. In this case, the process aborts with the error message: "libgcc_s.so.1 must be installed for pthread_cancel to work" pthread_cancel() unwinds back to the thread's wrapping function that calls the thread entry point. The unwind function is dynamically loaded from the libgcc_s library since it is tightly coupled to the C compiler (GCC). The unwinder depends on DWARF, the compiler generates DWARF, so the unwinder belongs to the compiler. Thanks Florian Weimer and Carlos O'Donell for their help on investigating this issue. (cherry picked from commit 45a78f906d2d5fe5381d78466b11763fc56d57ba)
* bpo-44363: Get test_capi passing with address sanitizer (GH-26639)Miss Islington (bot)2021-06-101-0/+5
| | | | | (cherry picked from commit 31aa0dbff4c1d39c9d77c6c8f4a61d0e46c1268b) Co-authored-by: Mark Shannon <mark@hotpy.org>
* bpo-44285: getpath.c: Assert that env_file is NULL during an error check ↵Miss Islington (bot)2021-06-021-0/+1
| | | | | | | | (GH-26486) (GH-26496) This was flagged by a static analyzer, but the logic of why this is NULL on error is hard to follow for humans as well. (cherry picked from commit bdb56902a3bfe12b10f85a941d5dd0eae739f1a8) Co-authored-by: stratakis <cstratak@redhat.com>
* bpo-44263: Fix _decimal and _testcapi GC protocol (GH-26464)Miss Islington (bot)2021-05-312-2/+9
| | | | | | | | | * _testcapi.heapgctype: implement a traverse function since the type is defined with Py_TPFLAGS_HAVE_GC. * _decimal: PyDecSignalDictMixin_Type is no longer defined with Py_TPFLAGS_HAVE_GC since it has no traverse function. (cherry picked from commit 142e5c5445c019542246d93fe2f9e195d3131686) Co-authored-by: Victor Stinner <vstinner@python.org>
* Fix compiler warning for misleading guarding in the tkinter (GH-26244) ↵Miss Islington (bot)2021-05-191-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (GH-26252) The newest gcc emmits this warning: ``` /Modules/_tkinter.c:272:9: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 272 | if(tcl_lock)PyThread_acquire_lock(tcl_lock, 1); tcl_tstate = tstate; } | ^~ /Modules/_tkinter.c:2869:5: note: in expansion of macro ‘LEAVE_PYTHON’ 2869 | LEAVE_PYTHON | ^~~~~~~~~~~~ /Modules/_tkinter.c:243:5: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 243 | (*(PyThreadState**)Tcl_GetThreadData(&state_key, sizeof(PyThreadState*))) | ^ /Modules/_tkinter.c:272:57: note: in expansion of macro ‘tcl_tstate’ 272 | if(tcl_lock)PyThread_acquire_lock(tcl_lock, 1); tcl_tstate = tstate; } | ^~~~~~~~~~ /Modules/_tkinter.c:2869:5: note: in expansion of macro ‘LEAVE_PYTHON’ 2869 | LEAVE_PYTHON ``` that's because the macro packs together two statements at the same level as the "if". The warning is misleading but is very noisy so it makes sense to fix it. (cherry picked from commit 95d04710c5fb0df5393b5add2c5c2de2412673eb) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
* Fix compiler warning in the xml module (GH-26245) (GH-26248)Miss Islington (bot)2021-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The newest version of gcc complains about passing un-initialized arrays as constant pointers: ``` /Modules/expat/xmltok_ns.c: In function ‘findEncodingNS’: /Modules/expat/xmltok.h:272:10: warning: ‘buf’ may be used uninitialized [-Wmaybe-uninitialized] 272 | (((enc)->utf8Convert)(enc, fromP, fromLim, toP, toLim)) | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Modules/expat/xmltok_ns.c:95:3: note: in expansion of macro ‘XmlUtf8Convert’ 95 | XmlUtf8Convert(enc, &ptr, end, &p, p + ENCODING_MAX - 1); | ^~~~~~~~~~~~~~ /Modules/expat/xmltok.h:272:10: note: by argument 5 of type ‘const char *’ to ‘enum XML_Convert_Result(const ENCODING *, const char **, const char *, char **, const char *)’ {aka ‘enum XML_Convert_Result(const struct encoding *, const char **, const char *, char **, const char *)’} 272 | (((enc)->utf8Convert)(enc, fromP, fromLim, toP, toLim)) | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Modules/expat/xmltok_ns.c:95:3: note: in expansion of macro ‘XmlUtf8Convert’ 95 | XmlUtf8Convert(enc, &ptr, end, &p, p + ENCODING_MAX - 1); | ^~~~~~~~~~~~~~ In file included from /Modules/expat/xmltok.c:1657: /Modules/expat/xmltok_ns.c:92:8: note: ‘buf’ declared here 92 | char buf[ENCODING_MAX]; ``` (cherry picked from commit be93f81e58ba3742589259ef84325a95b547e424) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
* [3.9] bpo-44145: Release the GIL around HMAC_Update. (GH-26157) (GH-26188)Miss Islington (bot)2021-05-171-2/+4
| | | | | | | | | | | | It was always meant to be released for parallelization. This now matches the other similar code in the module. Thanks michaelforney for noticing! (cherry picked from commit c10392e7ddb3eafbd11e9ffe335c07648426715f) Co-authored-by: Gregory P. Smith <greg@krypto.org> Automerge-Triggered-By: GH:gpshead
* [3.9] bpo-36515: Disable unaligned memory access in _sha3 on ARM (GH-25927) ↵Miss Islington (bot)2021-05-061-0/+5
| | | | | | | | | | | | (GH-25928) Contributed-By: Matthias Klose Automerge-Triggered-By: GH:tiran (cherry picked from commit da5c808fb50d34bc2e180d9481706072f33025da) Co-authored-by: Gregory P. Smith <greg@krypto.org> Co-authored-by: Gregory P. Smith <greg@krypto.org>
* [3.9] bpo-42083: Allow NULL doc in PyStructSequence_NewType (#25896)Petr Viktorin2021-05-041-0/+21
| | | | | (cherry picked from commit 2f5baa17504feb9a7613bac32fdceed4894434de) Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
* bpo-43434: Move sqlite3.connect audit event to sqlite3.Connection.__init__ ↵Erlend Egeberg Aasland2021-05-022-9/+5
| | | | (GH-25818)
* bpo-32745: Fix a regression in the handling of ctypes' c_wchar_p type ↵Miss Islington (bot)2021-05-021-1/+2
| | | | | | | | | | (GH-8721) (#25812) Embedded nulls would cause a ValueError to be raised. Thanks go to Eryk Sun for their analysis. Co-authored-by: Łukasz Langa <lukasz@langa.pl> (cherry picked from commit 73766b0341674f3920f4ea86a6f8288b801960f9) Co-authored-by: Zackery Spytz <zspytz@gmail.com>
* bpo-43472: Ensure PyInterpreterState_New audit events are raised when called ↵Miss Islington (bot)2021-04-281-1/+1
| | | | | | | | | through _xxsubinterpreters module (GH-25506) (GH-25508) (cherry picked from commit 7b86e47617d81a4b14d929743425f448971e8c86) Co-authored-by: Steve Dower <steve.dower@python.org> Co-authored-by: Steve Dower <steve.dower@python.org>
* Fix thread locks in zlib module may go wrong in rare case (#22130)Ma Lin2021-04-261-4/+4
| | | Setting `next_in` before acquiring the thread lock may mix up compress/decompress state in other threads.
* [3.9] bpo-43920: Make load_verify_locations(cadata) error message consistent ↵Christian Heimes2021-04-231-7/+16
| | | | | | | | (GH-25554) (GH-25555) Signed-off-by: Christian Heimes <christian@python.org>. (cherry picked from commit b9ad88be0304136c3fe5959c65a5d2c75490cd80) Co-authored-by: Christian Heimes <christian@python.org>
* bpo-38822: Check specifically for a drive, not just a colon (GH-25540)Miss Islington (bot)2021-04-221-2/+2
| | | | | (cherry picked from commit e07d8098892e85ecc56969d2c9a5afb3ea33ce8f) Co-authored-by: Steve Dower <steve.dower@python.org>
* bpo-38822: Fixed os.stat failing on inaccessible directories. (GH-25527)Miss Islington (bot)2021-04-221-2/+21
| | | | | | It would just fail if the path was inaccessible and had a trailing slash. It should fall back to the parent directory's metadata. (cherry picked from commit fe63a401a9b3ca1751b81b5d6ddb2beb7f3675c1) Co-authored-by: Steve Dower <steve.dower@python.org>
* bpo-26227: Fixes decoding of host names on Windows from ANSI instead of ↵Miss Islington (bot)2021-04-211-1/+1
| | | | | | | UTF-8 (GH-25510) (cherry picked from commit dc516ef8395d15da0ab225eb0dceb2e0581f51ca) Co-authored-by: Steve Dower <steve.dower@python.org>
* [3.9] bpo-43522: Fix SSLContext.hostname_checks_common_name (GH-24899) ↵Christian Heimes2021-04-171-0/+5
| | | | | | | | | | | (GH-25451) Fix problem with ssl.SSLContext.hostname_checks_common_name. OpenSSL does not copy hostflags from *struct SSL_CTX* to *struct SSL*. Signed-off-by: Christian Heimes <christian@python.org>. (cherry picked from commit b467d9a24011992242c95d9157d3455f8a84466b) Co-authored-by: Christian Heimes <christian@python.org>
* [3.9] bpo-43799: OpenSSL 3.0.0: declare OPENSSL_API_COMPAT 1.1.1 (GH-25329) ↵Miss Islington (bot)2021-04-132-24/+24
| | | | | | | | | | | (GH-25382) Signed-off-by: Christian Heimes <christian@python.org> (cherry picked from commit a4833883c9b81b6b272cc7c5b67fa1658b65304c) Co-authored-by: Christian Heimes <christian@python.org> Automerge-Triggered-By: GH:tiran
* [3.9] bpo-43788: Generate version specific _ssl_data.h (GH-25300) (GH-25310)Christian Heimes2021-04-093-0/+14966
| | | | | (cherry picked from commit 150af7543214e1541fa582374502ac1cd70e8eb4) Co-authored-by: Christian Heimes <christian@python.org>
* bpo-43794: OpenSSL 3.0.0: set OP_IGNORE_UNEXPECTED_EOF by default (GH-25309)Miss Islington (bot)2021-04-091-0/+8
| | | | | | Signed-off-by: Christian Heimes <christian@python.org> (cherry picked from commit 6f37ebc61e9e0d13bcb1a2ddb7fc9723c04b6372) Co-authored-by: Christian Heimes <christian@python.org>
* bpo-43789: OpenSSL 3.0.0 Don't call passwd callback again in error case ↵Miss Islington (bot)2021-04-091-0/+7
| | | | | | | (GH-25303) (cherry picked from commit d3b73f32ef7c693a6ae8c54eb0e62df3b5315caf) Co-authored-by: Christian Heimes <christian@python.org>
* bpo-43105: Importlib now resolves relative paths when creating module spec ↵Steve Dower2021-04-072-1/+95
| | | | objects from file locations (GH-25121)
* bpo-33164: blake2: Fix Coverity scan (GH-25060)Miss Islington (bot)2021-03-304-4/+4
| | | | | (cherry picked from commit 068ebf9729d440cef03e4c57e3db83c851146172) Co-authored-by: Inada Naoki <songofacandy@gmail.com>
* bpo-43577: Fix deadlock with SSLContext._msg_callback and sni_callback ↵Miss Islington (bot)2021-03-212-0/+6
| | | | | | | | | | | | | | | (GH-24957) OpenSSL copies the internal message callback from SSL_CTX->msg_callback to SSL->msg_callback. SSL_set_SSL_CTX() does not update SSL->msg_callback to use the callback value of the new context. PySSL_set_context() now resets the callback and _PySSL_msg_callback() resets thread state in error path. Signed-off-by: Christian Heimes <christian@python.org> (cherry picked from commit 77cde5042a2f1eae489c11a67540afaf43cd5cdf) Co-authored-by: Christian Heimes <christian@python.org>
* bpo-43499: Silence compiler warnings about using legacy C API on Windows ↵Serhiy Storchaka2021-03-163-0/+18
| | | | (GH-24873)
* bpo-39943: Fix MSVC warnings in sre extension (GH-20508)Miss Islington (bot)2021-03-142-3/+10
| | | | | (cherry picked from commit 06e3a27a3c863495390a07c695171a8e62a6e0d2) Co-authored-by: Ammar Askar <ammar@ammaraskar.com>
* [3.9] bpo-43439: Wrapt the tuple in the audit events for the gc module ↵Pablo Galindo2021-03-141-2/+2
| | | | | | | | | | | | | | (GH-24836) (GH-24855) * [3.9] bpo-43439: Wrapt the tuple in the audit events for the gc module (GH-24836). (cherry picked from commit 9c376bc1c4c8bcddb0bc4196b79ec8c75da494a8) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> * Update gcmodule.c * Update gcmodule.c * Update gcmodule.c
* [3.9] bpo-43439: Add audit hooks for gc functions (GH-24794). (GH-24811)Pablo Galindo2021-03-101-0/+12
| | | | | (cherry picked from commit b4f9089d4aa787c5b74134c98e5f0f11d9e63095) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
* [3.9] bpo-43406: Fix possible race condition where ``PyErr_CheckSignals`` ↵Miss Islington (bot)2021-03-061-1/+25
| | | | | | | | | tries to execute a non-Python signal handler (GH-24756) (GH-24761) We can receive signals (at the C level, in `trip_signal()` in signalmodule.c) while `signal.signal` is being called to modify the corresponding handler. Later when `PyErr_CheckSignals()` is called to handle the given signal, the handler may be a non-callable object and would raise a cryptic asynchronous exception. (cherry picked from commit 68245b7a1030287294c65c298975ab9026543fd2) Co-authored-by: Antoine Pitrou <antoine@python.org>
* bpo-43335: Update macro to check gcc version (GH-24662)Miss Islington (bot)2021-02-281-2/+2
| | | | | (cherry picked from commit bf9de7ab24d9d7068645b202bc47146b9a4f2726) Co-authored-by: Dong-hee Na <donghee.na@python.org>
* bpo-43260: io: Prevent large data remains in textio buffer. (GH-24592)Inada Naoki2021-02-221-3/+17
| | | | | | | | | When very large data remains in TextIOWrapper, flush() may fail forever. So prevent that data larger than chunk_size is remained in TextIOWrapper internal buffer. Co-Authored-By: Eryk Sun (cherry picked from commit 01806d5)
* bpo-42819, readline: Disable bracketed paste (GH-24108) (GH-24545)Miss Islington (bot)2021-02-161-0/+23
| | | | | | | (cherry picked from commit 755f3c1521b422bc2177013d289f5439975fdc4f) Co-authored-by: Dustin Rodrigues <dust.rod@gmail.com> Co-authored-by: Dustin Rodrigues <dust.rod@gmail.com>
* bpo-43204: Fix LibTomCrypt URL in md5module.c and sha*module.c comments ↵Miss Islington (bot)2021-02-124-4/+4
| | | | | | | | (GH-24507) Automerge-Triggered-By: GH:tiran (cherry picked from commit 5ec7d535581bc99918e032891167a96abd224ed6) Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
* bpo-43132: Fix incorrect handling of PyObject_RichCompareBool() in _zoneinfo ↵Miss Islington (bot)2021-02-051-6/+17
| | | | | | | | | | | (GH-24450) (GH-24457) PyObject_RichCompareBool() returns -1 on error, but this case is not handled by the find_in_strong_cache() function. Any exception raised by PyObject_RichCompareBool() should be propagated. (cherry picked from commit effaec0bb54f381db8ccfa62514bc26b00946b40) Co-authored-by: Zackery Spytz <zspytz@gmail.com>