Commit graph

11848 commits

Author SHA1 Message Date
Łukasz Langa
5482db5800
[3.9] [codemod] Fix non-matching bracket pairs (GH-28473) (GH-28512)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>.
(cherry picked from commit 8f943ca257)

Co-authored-by: Mohamad Mansour <66031317+mohamadmansourX@users.noreply.github.com>
2021-09-22 17:32:04 +02:00
Miss Islington (bot)
98fef200bb
bpo-45228: Fix stack buffer overflow in parsing J1939 address (GH-28404)
(cherry picked from commit 773319545b)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-09-17 02:10:55 -07:00
Miss Islington (bot)
5d28bb699a
[3.10] bpo-45126: Fix ref. leak in sqlite3.Connection.__init__ (GH-28231). (GH-28298)
(cherry picked from commit aa6dd54d43)

Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
2021-09-12 21:07:32 -07:00
Miss Islington (bot)
5c65834d80
bpo-44219: Release the GIL during isatty syscalls (GH-28250)
Release the GIL while performing isatty() system calls on arbitrary
file descriptors. In particular, this affects os.isatty(),
os.device_encoding() and io.TextIOWrapper. By extension,
io.open() in text mode is also affected.
(cherry picked from commit 06148b1870)

Co-authored-by: Vincent Michel <vxgmichel@gmail.com>
2021-09-09 06:40:42 -07:00
Miss Islington (bot)
d9b7d427eb
Remove documentation for non-existing socket class attributes (GH-28029) (GH-28221)
The functions in question are available on the module-level only.
(cherry picked from commit 34d82ce7cb)

Co-authored-by: Matti Picus <matti.picus@gmail.com>
2021-09-07 20:45:57 +02:00
Serhiy Storchaka
e09dd8aafd
[3.9] bpo-45060: Get rid of few uses of the equality operators with None (GH-28087). (GH-28093)
(cherry picked from commit 3c65457156)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-09-01 09:51:01 +03:00
Miss Islington (bot)
4b55837e7c
bpo-44689: ctypes.util.find_library() now finds macOS 11+ system libraries 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 71853a7302)

Co-authored-by: Tobias Bergkvist <tobias@bergkv.ist>
2021-08-30 11:08:16 +02:00
Miss Islington (bot)
007221a43e
bpo-44394: Update libexpat copy to 2.4.1 (GH-26945) (GH-28032)
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 3fc5d84046)

Co-authored-by: Victor Stinner <vstinner@python.org>
2021-08-29 16:36:36 +02:00
Miss Islington (bot)
2351ff2c8f
Fix typo in a comment in Modules/_ssl.c: s/validata/validate/ (GH-27993) (GH-27998)
(cherry picked from commit 28db1f61f2)

Co-authored-by: Adam Dangoor <adamdangoor@gmail.com>
2021-08-27 13:59:23 +02:00
Erlend Egeberg Aasland
52702e8ba0
[3.9] bpo-27334: roll back transaction if sqlite3 context manager fails to commit (GH-26202) (GH-27944) 2021-08-25 20:02:25 +01:00
Łukasz Langa
b0df288c94
[3.9] bpo-44984: Rewrite test_null_strings in _testcapi (GH-27904) (GH-27910)
Test also PyObject_Repr(NULL) and PyObject_Bytes(NULL)..
(cherry picked from commit 4d68917386)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-08-23 20:48:04 +02:00
Erlend Egeberg Aasland
c352412123
[3.9] bpo-44822: Don't truncate strs with embedded NULL chars returned by sqlite3 UDF callbacks (GH-27588). (GH-27639)
(cherry picked from commit 8f010dc920)
2021-08-07 00:02:06 +03:00
Erlend Egeberg Aasland
8c07fef867
[3.9] bpo-43853: Handle sqlite3_value_text() errors (GH-25422). (GH-27627)
(cherry picked from commit 006fd869e4)
2021-08-06 20:57:39 +03:00
Łukasz Langa
168879e366
[3.9] Update URLs in comments and metadata to use HTTPS (GH-27458) (GH-27480)
(cherry picked from commit be42c06bb0)

Co-authored-by: Noah Kantrowitz <noah@coderanger.net>
2021-07-30 16:34:04 +02:00
Erlend Egeberg Aasland
0bc17658f5
[3.9] bpo-31746: Prevent segfaults when sqlite3.Connection is uninitialised (GH-27431) (GH-27465)
(cherry picked from commit 7e311e496b)

Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
2021-07-29 22:12:55 +01:00
Miss Islington (bot)
899e37b202
bpo-40263: Fixes an off-by-one error in _winapi_WaitForMultipleObjects_impl (GH-19501)
(cherry picked from commit 92b5dc780d)

Co-authored-by: Ray Donnelly <mingw.android@gmail.com>
2021-07-28 22:52:11 +01:00
Miss Islington (bot)
94adfe6e2c
bpo-44608: Fix memory leak in _tkinter._flatten() (GH-27107)
if it is called with a sequence or set, but not list or tuple.
(cherry picked from commit f572cbf1fa)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-07-13 22:44:08 -07:00
Miss Islington (bot)
fe73509c5b
bpo-44630: Fix assertion errors in csv module (GH-27127)
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 0093876328)

Co-authored-by: T. Wouters <thomas@python.org>
2021-07-13 16:20:28 -07:00
Dong-hee Na
9761abf306
[3.9] bpo-44558: Match countOf is/== treatment to c (GH-27007). (GH-27055) 2021-07-07 23:55:22 +09:00
Miss Islington (bot)
324b93295f
bpo-44563: Fix error handling in tee.fromiterable() (GH-27020) (GH-27042)
In debug build failed tee.fromiterable() corrupted the linked list of all GC objects.
(cherry picked from commit f64de53ff0)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-07-05 23:34:01 +01:00
Miss Islington (bot)
a65df3f9fc
bpo-41621: Document defaultdict's default_factory parameter (GH-21945)
It defaults to None and is positional only.
(cherry picked from commit d1ae57027f)

Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com>
2021-06-22 07:42:41 -07:00
Victor Stinner
83ad40efc3
bpo-44434: Don't call PyThread_exit_thread() explicitly (GH-26758) (GH-26825)
_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 45a78f906d)
2021-06-21 14:22:56 +02:00
Miss Islington (bot)
865269458f
bpo-44363: Get test_capi passing with address sanitizer (GH-26639)
(cherry picked from commit 31aa0dbff4)

Co-authored-by: Mark Shannon <mark@hotpy.org>
2021-06-10 05:01:22 -07:00
Miss Islington (bot)
85b587a38d
bpo-44285: getpath.c: Assert that env_file is NULL during an error check (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 bdb56902a3)

Co-authored-by: stratakis <cstratak@redhat.com>
2021-06-03 01:50:55 +02:00
Miss Islington (bot)
46b16d0bdb
bpo-44263: Fix _decimal and _testcapi GC protocol (GH-26464)
* _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 142e5c5445)

Co-authored-by: Victor Stinner <vstinner@python.org>
2021-05-31 04:33:31 -07:00
Miss Islington (bot)
021169f768
Fix compiler warning for misleading guarding in the tkinter (GH-26244) (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 95d04710c5)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2021-05-19 19:27:19 +01:00
Miss Islington (bot)
509e1c9d35
Fix compiler warning in the xml module (GH-26245) (GH-26248)
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 be93f81e58)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2021-05-19 19:21:07 +01:00
Miss Islington (bot)
2057ce8749
[3.9] bpo-44145: Release the GIL around HMAC_Update. (GH-26157) (GH-26188)
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 c10392e7dd)


Co-authored-by: Gregory P. Smith <greg@krypto.org>

Automerge-Triggered-By: GH:gpshead
2021-05-17 01:07:49 -07:00
Miss Islington (bot)
ce47addfb6
[3.9] bpo-36515: Disable unaligned memory access in _sha3 on ARM (GH-25927) (GH-25928)
Contributed-By: Matthias Klose

Automerge-Triggered-By: GH:tiran
(cherry picked from commit da5c808fb5)

Co-authored-by: Gregory P. Smith <greg@krypto.org>

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2021-05-06 08:55:35 +02:00
Petr Viktorin
ec18362f6a
[3.9] bpo-42083: Allow NULL doc in PyStructSequence_NewType (#25896)
(cherry picked from commit 2f5baa1750)

Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
2021-05-04 16:07:13 +02:00
Erlend Egeberg Aasland
ad73d1657c
bpo-43434: Move sqlite3.connect audit event to sqlite3.Connection.__init__ (GH-25818) 2021-05-02 23:43:06 +01:00
Miss Islington (bot)
cf6a79644c
bpo-32745: Fix a regression in the handling of ctypes' c_wchar_p type (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 73766b0341)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2021-05-02 13:03:10 +02:00
Miss Islington (bot)
0252ce3571
bpo-43472: Ensure PyInterpreterState_New audit events are raised when called through _xxsubinterpreters module (GH-25506) (GH-25508)
(cherry picked from commit 7b86e47617)

Co-authored-by: Steve Dower <steve.dower@python.org>

Co-authored-by: Steve Dower <steve.dower@python.org>
2021-04-28 18:20:40 +02:00
Ma Lin
ba7338a460
Fix thread locks in zlib module may go wrong in rare case (#22130)
Setting `next_in` before acquiring the thread lock may mix up compress/decompress state in other threads.
2021-04-26 21:50:33 +02:00
Christian Heimes
e259a77f21
[3.9] bpo-43920: Make load_verify_locations(cadata) error message consistent (GH-25554) (GH-25555)
Signed-off-by: Christian Heimes <christian@python.org>.
(cherry picked from commit b9ad88be03)

Co-authored-by: Christian Heimes <christian@python.org>
2021-04-23 14:23:35 +02:00
Miss Islington (bot)
28575923a9
bpo-38822: Check specifically for a drive, not just a colon (GH-25540)
(cherry picked from commit e07d809889)

Co-authored-by: Steve Dower <steve.dower@python.org>
2021-04-23 00:56:45 +01:00
Miss Islington (bot)
8e7cebb497
bpo-38822: Fixed os.stat failing on inaccessible directories. (GH-25527)
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 fe63a401a9)

Co-authored-by: Steve Dower <steve.dower@python.org>
2021-04-22 13:09:56 -07:00
Miss Islington (bot)
d8576b1d15
bpo-26227: Fixes decoding of host names on Windows from ANSI instead of UTF-8 (GH-25510)
(cherry picked from commit dc516ef839)

Co-authored-by: Steve Dower <steve.dower@python.org>
2021-04-21 16:43:40 -07:00
Christian Heimes
cdf0287979
[3.9] bpo-43522: Fix SSLContext.hostname_checks_common_name (GH-24899) (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 b467d9a240)

Co-authored-by: Christian Heimes <christian@python.org>
2021-04-17 11:35:24 +02:00
Miss Islington (bot)
7d9d5bf863
[3.9] bpo-43799: OpenSSL 3.0.0: declare OPENSSL_API_COMPAT 1.1.1 (GH-25329) (GH-25382)
Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit a4833883c9)


Co-authored-by: Christian Heimes <christian@python.org>

Automerge-Triggered-By: GH:tiran
2021-04-12 23:40:52 -07:00
Christian Heimes
299ae9c7a2
[3.9] bpo-43788: Generate version specific _ssl_data.h (GH-25300) (GH-25310)
(cherry picked from commit 150af75432)

Co-authored-by: Christian Heimes <christian@python.org>
2021-04-09 18:34:39 +02:00
Miss Islington (bot)
54d89a33e0
bpo-43794: OpenSSL 3.0.0: set OP_IGNORE_UNEXPECTED_EOF by default (GH-25309)
Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit 6f37ebc61e)

Co-authored-by: Christian Heimes <christian@python.org>
2021-04-09 09:21:54 -07:00
Miss Islington (bot)
a188bd44ac
bpo-43789: OpenSSL 3.0.0 Don't call passwd callback again in error case (GH-25303)
(cherry picked from commit d3b73f32ef)

Co-authored-by: Christian Heimes <christian@python.org>
2021-04-09 06:46:11 -07:00
Steve Dower
0af99b44ed
bpo-43105: Importlib now resolves relative paths when creating module spec objects from file locations (GH-25121) 2021-04-07 12:35:36 +01:00
Miss Islington (bot)
05429c917c
bpo-33164: blake2: Fix Coverity scan (GH-25060)
(cherry picked from commit 068ebf9729)

Co-authored-by: Inada Naoki <songofacandy@gmail.com>
2021-03-29 21:36:39 -07:00
Miss Islington (bot)
c145c03281
bpo-43577: Fix deadlock with SSLContext._msg_callback and sni_callback (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 77cde5042a)

Co-authored-by: Christian Heimes <christian@python.org>
2021-03-21 08:39:15 -07:00
Serhiy Storchaka
651fc30af7
bpo-43499: Silence compiler warnings about using legacy C API on Windows (GH-24873) 2021-03-16 08:03:37 +02:00
Miss Islington (bot)
cf8d6ef962
bpo-39943: Fix MSVC warnings in sre extension (GH-20508)
(cherry picked from commit 06e3a27a3c)

Co-authored-by: Ammar Askar <ammar@ammaraskar.com>
2021-03-14 05:17:26 -07:00
Pablo Galindo
e6bf1e1001
[3.9] bpo-43439: Wrapt the tuple in the audit events for the gc module (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 9c376bc1c4)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>

* Update gcmodule.c

* Update gcmodule.c

* Update gcmodule.c
2021-03-14 05:28:37 +00:00
Pablo Galindo
f814675376
[3.9] bpo-43439: Add audit hooks for gc functions (GH-24794). (GH-24811)
(cherry picked from commit b4f9089d4a)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2021-03-10 00:50:29 -08:00