Commit graph

10735 commits

Author SHA1 Message Date
Miss Islington (bot)
e9868c5416
bpo-35941: Fix ssl certificate enumeration for windows (GH-12486)
Add a function to collect certificates from several certificate stores into one certificate collection store that is then enumerated. This ensures we load as many certificates as we can access.
(cherry picked from commit d93fbbf88e)

Co-authored-by: kctherookie <48805853+kctherookie@users.noreply.github.com>
2019-03-28 11:56:50 -07:00
Miss Islington (bot)
20fde53a25
bpo-36436: Fix _testcapi.pymem_buffer_overflow() (GH-12560)
Handle memory allocation failure.
(cherry picked from commit 414b1cde93)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-03-26 08:39:03 -07:00
Miss Islington (bot)
e0fe25be1e
bpo-36430: Fix a possible reference leak in itertools.count(). (GH-12551)
(cherry picked from commit 0523c39e77)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2019-03-25 23:26:42 -07:00
Miss Islington (bot)
fa27870992
bpo-36421: Fix a possible double decref in _ctypes.c's PyCArrayType_new(). (GH-12530)
Set type_attr to NULL after the assignment to stgdict->proto (like
what is done with stgdict after the Py_SETREF() call) so that it is
not decrefed twice on error.
(cherry picked from commit 5e333784f0)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2019-03-25 01:34:26 -07:00
Miss Islington (bot)
00eb97b4a7 bpo-36256: Fix bug in parsermodule when parsing if statements (GH-12488)
bpo-36256: Fix bug in parsermodule when parsing if statements

In the parser module, when validating nodes before starting the parsing with to create a ST in "parser_newstobject" there is a problem that appears when two arcs in the same DFA state has transitions with labels with the same type. For example, the DFA for if_stmt has a state with
two labels with the same type: "elif" and "else" (type NAME). The algorithm tries one by one the arcs until the label that starts the arc transition has a label with the same type of the current child label we are trying to accept. In this case, the arc for "elif" comes before the arc for "else"and passes this test (because the current child label is "else" and has the same type as "elif"). This lead to expecting a namedexpr_test (305) instead of a colon (11). The solution is to compare also the string representation (in case there is one) of the labels to see if the transition that we have is the correct one.
(cherry picked from commit 9a0000d15d)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2019-03-21 23:56:20 +00:00
Victor Stinner
ef10f886ae
Fix compiler warning in call_readline() (GH-10820) (GH-12452)
Replace strncpy() with memcpy() in call_readline() to fix the
following warning, the NUL byte is written manually just after:

Modules/readline.c: In function ‘call_readline’:
Modules/readline.c:1303:9: warning: ‘strncpy’ output truncated before
terminating nul copying as many bytes from a string as its length
[-Wstringop-truncation]
         strncpy(p, q, n);
         ^~~~~~~~~~~~~~~~
Modules/readline.c:1279:9: note: length computed here
     n = strlen(p);
         ^~~~~~~~~

(cherry picked from commit 1600f60414)
2019-03-20 01:00:41 +01:00
Victor Stinner
f7959a9fe7
bpo-36236: Handle removed cwd at Python init (GH-12450)
At Python initialization, the current directory is no longer
prepended to sys.path if it has been removed.
2019-03-20 00:30:45 +01:00
Victor Stinner
935250d6f3
bpo-36356: pymain_free() calls _PyRuntime_Finalize() (GH-12436)
Ensure that _PyRuntime_Finalize() is always call. This change fix a
few memory leaks when running "python3 -V".
2019-03-19 15:08:17 +01:00
Serhiy Storchaka
783bed4c8d
[3.7] bpo-36254: Fix invalid uses of %d in format strings in C. (GH-12264). (GH-12322)
(cherry picked from commit d53fe5f407)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2019-03-14 10:47:27 +02:00
Miss Islington (bot)
e4be2057d4
bpo-36251: Fix format strings used in match_repr() and stdprinter_repr(). (GH-12252)
(cherry picked from commit 8b91edadc0)

Co-authored-by: sth <sth.dev@tejp.de>
2019-03-10 03:52:44 -07:00
Miss Islington (bot)
42c649347a
bpo-36209: Fix typo on hashlib error message (GH-12194)
(cherry picked from commit b71e28ea91)

Co-authored-by: Emmanuel Arias <emmanuelarias30@gmail.com>
2019-03-06 06:54:54 -08:00
Miss Islington (bot)
a59d33a1b0
bpo-36179: Fix ref leaks in _hashopenssl (GH-12158)
Fix two unlikely reference leaks in _hashopenssl. The leaks only occur in
out-of-memory cases. Thanks to Charalampos Stratakis.

Signed-off-by: Christian Heimes <christian@python.org>

https://bugs.python.org/issue36179
(cherry picked from commit b7bc283ab6)

Co-authored-by: Christian Heimes <christian@python.org>
2019-03-04 08:17:30 -08:00
Miss Islington (bot)
e5897b67ba bpo-28441: Ensure .exe suffix in sys.executable on MinGW and Cygwin (GH-4348)
This is needed to even the run the test suite on buildbots for affected platforms; e.g.:

```
./python.exe  ./Tools/scripts/run_tests.py -j 1 -u all -W --slowest --fail-env-changed --timeout=11700 -j2
/home/embray/src/python/test-worker/3.x.test-worker/build/python -u -W default -bb -E -W error::BytesWarning -m test -r -w -j 1 -u all -W --slowest --fail-env-changed --timeout=11700 -j2
Traceback (most recent call last):
  File "./Tools/scripts/run_tests.py", line 56, in <module>
    main(sys.argv[1:])
  File "./Tools/scripts/run_tests.py", line 52, in main
    os.execv(sys.executable, args)
PermissionError: [Errno 13] Permission denied
make: *** [Makefile:1073: buildbottest] Error 1
```

(cherry picked from commit 7a7693e9cb)

Co-authored-by: E. M. Bray <erik.m.bray@gmail.com>
2019-02-27 18:24:34 +09:00
Miss Islington (bot)
4e6646fef5
bpo-36106: Resolve sinpi name clash with libm (IEEE-754 violation). (GH-12027)
The standard math library (libm) may follow IEEE-754 recommendation to
include an implementation of sinPi(), i.e. sinPi(x):=sin(pi*x).
And this triggers a name clash, found by FreeBSD developer
Steve Kargl, who worken on putting sinpi into libm used on FreeBSD
(it has to be named "sinpi", not "sinPi", cf. e.g.
https://en.cppreference.com/w/c/experimental/fpext4).
(cherry picked from commit f57cd8288d)

Co-authored-by: Dima Pasechnik <dimpase@gmail.com>
2019-02-25 23:10:54 -08:00
Miss Islington (bot)
0b3019a02e
bpo-24643: Fix "GH-define timezone _timezone" clashes on Windows (GH-12019)
(cherry picked from commit 6673decfa0)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2019-02-25 16:15:04 -08:00
Miss Islington (bot)
8efa32888b
fix _abc.c compile error on Cygwin (GH-8445)
(cherry picked from commit abe5922743)

Co-authored-by: E. M. Bray <erik.m.bray@gmail.com>
2019-02-23 17:53:28 -08:00
Miss Islington (bot)
3129432845 bpo-34572: change _pickle unpickling to use import rather than retrieving from sys.modules (GH-9047) (GH-11921)
Fix C implementation of pickle.loads to use importlib's locking mechanisms, and thereby avoid using partially-loaded modules.
(cherry picked from commit 4371c0a9c0)

Co-authored-by: tjb900 <ozburgess@gmail.com>
2019-02-18 15:52:32 +00:00
Miss Islington (bot)
0e379d43ac
bpo-34294: re module, fix wrong capturing groups in rare cases. (GH-11546)
Need to reset capturing groups between two SRE(match) callings in loops, this fixes wrong capturing groups in rare cases.

Also add a missing index in re.rst.
(cherry picked from commit 4a7f44a2ed)

Co-authored-by: animalize <animalize@users.noreply.github.com>
2019-02-18 05:48:23 -08:00
Miss Islington (bot)
a01065a358
bpo-35942: Improve the error message if __fspath__ returns invalid types in path_converter (GH-11831)
The error message emitted when returning invalid types from __fspath__ in interfaces that allow passing PathLike objects has been improved and now it does explain the origin of the error.
(cherry picked from commit 09fbcd6085)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2019-02-18 03:05:52 -08:00
Miss Islington (bot)
e20893596f
closes bpo-35991: Fix a potential double free in Modules/_randommodule.c. (GH-11849)
(cherry picked from commit bb3c05d7ef)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2019-02-14 00:02:12 -08:00
Benjamin Peterson
00cc0fe177
[3.7] Remove stray quote in os.replace docstring. (GH-11835)
(cherry picked from commit 73d600239b)

Co-authored-by: Anthony Sottile <asottile@umich.edu>
2019-02-12 20:36:09 -08:00
Miss Islington (bot)
7c7839329c lru_cache: Add more comments. Fix comment typos. Clarify a comment. (GH-11795) (GH-11798) 2019-02-08 19:33:06 -08:00
Miss Islington (bot)
63a69ef4a2
bpo-29734: nt._getfinalpathname handle leak (GH-740)
Make sure that failure paths call CloseHandle outside of the function that failed
(cherry picked from commit b82bfac436)

Co-authored-by: Mark Becwar <mark@thebecwar.com>
2019-02-02 13:29:07 -08:00
Miss Islington (bot)
533a9b459b Consistently move the misses update to just before the user function call (GH-11715) (GH-11716) 2019-01-31 15:35:00 -08:00
Miss Islington (bot)
10354cbb50
bpo-35847: RISC-V needs CTYPES_PASS_BY_REF_HACK (GH-11694)
This fixes the ctypes.test.test_structures.StructureTestCase test.

https://bugs.python.org/issue35847
(cherry picked from commit 742d768656)

Co-authored-by: Andreas Schwab <schwab@linux-m68k.org>
2019-01-29 13:11:36 -08:00
Miss Islington (bot)
b2b023c657 bpo-35780: Fix errors in lru_cache() C code (GH-11623) (GH-11682) 2019-01-26 03:23:40 -05:00
Miss Islington (bot)
f71e7433eb
bpo-35720: Fixing a memory leak in pymain_parse_cmdline_impl() (GH-11528)
When the loop in the pymain_read_conf function in this same file
calls pymain_init_cmdline_argv() a 2nd time, the pymain->command
buffer of wchar_t is overriden and the previously allocated memory
is never freed.
(cherry picked from commit 35ca1820e1)

Co-authored-by: Lucas Cimon <lucas.cimon@gmail.com>
2019-01-22 08:42:13 -08:00
Miss Islington (bot)
be5de958e9
bpo-35746: Fix segfault in ssl's cert parser (GH-11569)
Fix a NULL pointer deref in ssl module. The cert parser did not handle CRL
distribution points with empty DP or URI correctly. A malicious or buggy
certificate can result into segfault.

Signed-off-by: Christian Heimes <christian@python.org>

https://bugs.python.org/issue35746
(cherry picked from commit a37f52436f)

Co-authored-by: Christian Heimes <christian@python.org>
2019-01-15 15:03:36 -08:00
Miss Islington (bot)
26122de1a8
bpo-35066: _dateime.datetime.strftime copies trailing '%' (GH-10692)
Previously, calling the strftime() method on a datetime object with a
trailing '%' in the format string would result in an exception. However,
this only occured when the datetime C module was being used; the python
implementation did not match this behavior. Datetime is now PEP-399
compliant, and will not throw an exception on a trailing '%'.
(cherry picked from commit 454b3d4ea2)

Co-authored-by: MichaelSaah <mike.saah@gmail.com>
2019-01-14 02:41:33 -08:00
Miss Islington (bot)
059997d78e
bpo-32710: Fix _overlapped.Overlapped memory leaks (GH-11489)
Fix memory leaks in asyncio ProactorEventLoop on overlapped operation
failures.

Changes:

* Implement the tp_traverse slot in the _overlapped.Overlapped type
  to help to break reference cycles and identify referrers in the
  garbage collector.
* Always clear overlapped on failure: not only set type to
  TYPE_NOT_STARTED, but release also resources.
(cherry picked from commit 5485085b32)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-01-11 06:01:50 -08:00
Miss Islington (bot)
88ad48bc98
bpo-32710: Fix leak in Overlapped_WSASend() (GH-11469)
Fix a memory leak in asyncio in the ProactorEventLoop when ReadFile()
or WSASend() overlapped operation fail immediately: release the
internal buffer.
(cherry picked from commit a234e14839)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-01-08 05:40:50 -08:00
Miss Islington (bot)
6d04bc9a2e
closes bpo-35643: Fix a SyntaxWarning: invalid escape sequence in Modules/_sha3/cleanup.py (GH-11411)
(cherry picked from commit d466c43e55)

Co-authored-by: Mickaël Schoentgen <contact@tiger-222.fr>
2019-01-02 11:58:58 -08:00
Gregory P. Smith
efcf08d8ca
[3.7] bpo-35214: Annotate posix calls for clang MSan. (GH-11389) (GH-11391)
It doesn't know the details of a few less common libc functions..

(cherry picked from commit 1d300ce1d8)

Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google]
2018-12-30 22:14:33 -08:00
Miss Islington (bot)
d82344378a
bpo-35550: Fix incorrect Solaris define guards (GH-11275)
Python source code uses on several places ifdef sun or defined(sun) without the underscores, which is not standard compliant and shouldn't be used.

Defines should check for __sun instead. Reference: http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_systemGH-Solaris

https://bugs.python.org/issue35550
(cherry picked from commit 6f9bc72c79)

Co-authored-by: Jakub Kulík <Kulikjak@gmail.com>
2018-12-30 18:39:00 -08:00
Miss Islington (bot)
a144feeb7e bpo-28503: Use crypt_r() when available instead of crypt() (GH-11373) (GH-11376)
Use crypt_r() when available instead of crypt() in the crypt module.

As a nice side effect: This also avoids a memory sanitizer flake as clang msan doesn't know about crypt's internal libc allocated buffer.
(cherry picked from commit 387512c7ec)

Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google]
2018-12-30 17:59:52 -08:00
Miss Islington (bot)
01b9664740 bpo-35214: MSan workarounds for socket, time, and test_faulthandler. (GH-11375) (GH-11378)
Add Clang Memory Sanitizer build instrumentation to work around
false positives from the socket and time modules as well as skipping
a couple test_faulthandler tests.
(cherry picked from commit b474e6774d)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2018-12-30 17:59:19 -08:00
Miss Islington (bot)
4b6caaca41
bpo-35529: Fix a reference counting bug in PyCFuncPtr_FromDll(). (GH-11229)
"dll" would leak if an error occurred in _validate_paramflags() or
GenericPyCData_new().
(cherry picked from commit d77d97c9a1)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2018-12-20 00:47:59 -08:00
Miss Islington (bot)
60c919b58b
bpo-35502: Fix reference leaks in ElementTree.TreeBuilder. (GH-11170)
(cherry picked from commit d2a75c6783)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-12-18 13:40:23 -08:00
Miss Islington (bot)
cb272843f2
bpo-35504: Fix segfaults and SystemErrors when deleting certain attrs. (GH-11175)
(cherry picked from commit 842acaab13)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2018-12-17 07:10:20 -08:00
Serhiy Storchaka
45a7b7617e
[3.7] bpo-35489: Use "const Py_UNICODE *" for the Py_UNICODE converter in AC. (GH-11150). (GH-11151)
(cherry picked from commit afb3e71a17)
2018-12-14 11:56:48 +02:00
Serhiy Storchaka
922b2a0d0d
[3.7] bpo-31446: Copy command line that should be passed to CreateProcessW(). (GH-11141). (GH-11149)
(cherry picked from commit 7b36016a15)

Co-authored-by: Vladimir Matveev <v2matveev@outlook.com>
2018-12-14 11:18:13 +02:00
Serhiy Storchaka
3cae16d2e9
bpo-35444: Fix error handling when fail to look up builtin "getattr". (GH-11047) (GH-11107)
(cherry picked from commit bb86bf4c4e)
2018-12-11 10:51:27 +02:00
Miss Islington (bot)
62674f3a36
bpo-35454: Fix miscellaneous minor issues in error handling. (GH-11077)
* bpo-35454: Fix miscellaneous minor issues in error handling.

* Fix a null pointer dereference.
(cherry picked from commit 8905fcc85a)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-12-10 23:05:13 -08:00
Miss Islington (bot)
ef1fc0d031
bpo-31374: expat doesn't include <pyconfig.h> on Windows (GH-11079)
(cherry picked from commit b6ef6f69a9)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-12-10 07:25:31 -08:00
Miss Islington (bot)
1467a3ac12
bpo-31374: Include pyconfig.h earlier in expat (GH-11064)
Include <pyconfig.h> ealier in Modules/expat/xmltok.c to define
properly _POSIX_C_SOURCE. Python defines _POSIX_C_SOURCE as 200809L,
whereas <features.h> (included indirectly by <string.h>) defines
_POSIX_C_SOURCE as 199506L.
(cherry picked from commit cf247359d5)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-12-10 03:28:13 -08:00
Victor Stinner
1a7b62d557
bpo-35050: AF_ALG length check off-by-one error (GH-10058) (GH-11069)
The length check for AF_ALG salg_name and salg_type had a off-by-one
error. The code assumed that both values are not necessarily NULL
terminated. However the Kernel code for alg_bind() ensures that the last
byte of both strings are NULL terminated.

Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit 2eb6ad8578)
2018-12-10 12:13:01 +01:00
Miss Islington (bot)
8b7d8ac09c
bpo-35441: Remove dead and buggy code related to PyList_SetItem(). (GH-11033)
In _localemodule.c and selectmodule.c, remove dead code that would
cause double decrefs if run.

In addition, replace PyList_SetItem() with PyList_SET_ITEM() in cases
where a new list is populated and there is no possibility of an error.

In addition, check if the list changed size in the loop in array_array_fromlist().
(cherry picked from commit 99d56b5356)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2018-12-08 06:34:49 -08:00
Serhiy Storchaka
0d5730e643
[3.7] bpo-22005: Fixed unpickling instances of datetime classes pickled by Python 2. (GH-11017) (GH-11022)
encoding='latin1' should be used for successful decoding.
(cherry picked from commit 8452ca15f4)
2018-12-07 14:56:02 +02:00
Zackery Spytz
602d307ac5 bpo-35436: Add missing PyErr_NoMemory() calls and other minor bug fixes. (GH-11015) (GH-11020)
(cherry picked from commit 4c49da0cb7)
2018-12-07 14:17:43 +02:00
Miss Islington (bot)
f740818f3d
bpo-35384: The repr of ctypes.CArgObject no longer fails for non-ascii character. (GH-10863)
(cherry picked from commit 3ffa8b9ba1)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-12-06 01:58:24 -08:00