Nick Coghlan
93602e3af7
[3.5] bpo-29537: Tolerate legacy invalid bytecode ( #169 )
...
bpo-27286 fixed a problem where BUILD_MAP_UNPACK_WITH_CALL could
be emitted with an incorrect oparg value, causing the eval loop
to access the wrong stack entry when attempting to read the
function name.
The associated magic number change caused significant problems when
attempting to upgrade to 3.5.3 for anyone that relies on pre-cached
bytecode remaining valid across maintenance releases.
This patch restores the ability to import legacy bytecode generated
by 3.5.0, 3.5.1 or 3.5.2, and modifies the eval loop to
avoid any harmful consequences from the potentially malformed legacy
bytecode.
Original import patch by Petr Viktorin, eval loop patch by Serhiy Storchaka,
and tests and integration by Nick Coghlan.
2017-03-08 16:41:01 +10:00
Ned Deily
a2edd3ae40
[3.5] bpo-27593: Get SCM build info from git instead of hg. ( #446 ) ( #454 ) ( #455 )
...
* bpo-27593: Get SCM build info from git instead of hg. (#446 )
sys.version and the platform module python_build(),
python_branch(), and python_revision() functions now use
git information rather than hg when building from a repo.
Based on original patches by Brett Cannon and Steve Dower.
(cherry picked from commit 5c4b0d063a
)
(cherry picked from commit 95c50e5aed
)
2017-03-04 01:34:19 -05:00
Berker Peksag
0dadf56737
bpo-29655: Fixed possible reference leaks in import *
. ( #301 ) ( #349 )
...
Patch by Matthias Bussonnier.
(cherry picked from commit 160edb4357
)
2017-02-27 21:25:29 +03:00
Martijn Pieters
bc144f0abf
bpo-28598: Support __rmod__ for RHS subclasses of str in % string formatting operations ( #94 )
2017-02-27 19:07:27 +03:00
Serhiy Storchaka
3a1042567c
Issue #26729 : Fixed __text_signature__ for sorted().
...
Patch by Erik Welch.
2017-01-23 12:29:47 +02:00
Victor Stinner
035ba5da3e
Issue #29157 : Prefer getrandom() over getentropy()
...
Copy and then adapt Python/random.c from default branch. Difference between 3.5
and default branches:
* Python 3.5 only uses getrandom() in non-blocking mode: flags=GRND_NONBLOCK
* If getrandom() fails with EAGAIN: py_getrandom() immediately fails and
remembers that getrandom() doesn't work.
* Python 3.5 has no _PyOS_URandomNonblock() function: _PyOS_URandom()
works in non-blocking mode on Python 3.5
2017-01-09 11:18:53 +01:00
Benjamin Peterson
493ac1bbe0
only include sys/random.h if it seems like it might have something useful ( #29057 )
2017-01-01 22:29:36 -06:00
Benjamin Peterson
4365833d11
merge 3.4
2017-01-01 22:08:33 -06:00
Benjamin Peterson
b6e2142b0c
merge 3.3
2017-01-01 22:07:37 -06:00
Benjamin Peterson
e527dd34bc
ring in 2017 for Python
2017-01-01 22:04:13 -06:00
Benjamin Peterson
fb2ae15c67
add a specific configure check for sys/random.h ( closes #28932 )
2016-12-19 23:54:25 -08:00
Martin Panter
ca3263c50c
Issue #25677 : Correct syntax error caret for indented blocks.
...
Based on patch by Michael Layzell.
2016-12-11 00:18:36 +00:00
Serhiy Storchaka
8b58339eb2
Issue #28512 : Fixed setting the offset attribute of SyntaxError by
...
PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject().
2016-12-11 14:39:01 +02:00
Serhiy Storchaka
144f77a981
Issue #28715 : Added error checks for PyUnicode_AsUTF8().
2016-11-20 08:47:21 +02:00
Serhiy Storchaka
f5894dd646
Issue #28701 : Replace _PyUnicode_CompareWithId with _PyUnicode_EqualToASCIIId.
...
The latter function is more readable, faster and doesn't raise exceptions.
Based on patch by Xiang Zhang.
2016-11-16 15:40:39 +02:00
Serhiy Storchaka
f4934ea77d
Issue #28701 : Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString.
...
The latter function is more readable, faster and doesn't raise exceptions.
2016-11-16 10:17:58 +02:00
Ned Deily
7ae4112649
Issue #28676 : Prevent missing 'getentropy' declaration warning on macOS.
...
Patch by Gareth Rees.
2016-11-12 16:35:48 -05:00
Serhiy Storchaka
70b72f0f96
Fixed possible abort in ceval loop if _PyUnicode_FromId() fails.
...
Every opcode should end with DISPATCH() or goto error.
2016-11-08 23:12:46 +02:00
Ned Deily
da4887a88d
Issue #28616 : Correct help for sys.version_info releaselevel component.
...
Patch by Anish Tambe.
2016-11-04 17:03:34 -04:00
Serhiy Storchaka
9e373be1bc
Issue #28410 : Keep the traceback of original exception in _PyErr_ChainExceptions().
2016-10-21 16:19:59 +03:00
Serhiy Storchaka
04eb777279
Issue #23782 : Fixed possible memory leak in _PyTraceback_Add() and exception
...
loss in PyTraceBack_Here().
2016-10-18 13:23:18 +03:00
Serhiy Storchaka
5665301bae
Issue #28257 : Improved error message when pass a non-mapping as a var-keyword
...
argument.
2016-10-07 23:32:41 +03:00
Serhiy Storchaka
cf3806026b
Issue #24098 : Fixed possible crash when AST is changed in process of
...
compiling it.
2016-10-07 21:51:28 +03:00
Serhiy Storchaka
00a0fc1144
Issue #27942 : String constants now interned recursively in tuples and frozensets.
2016-09-30 10:07:26 +03:00
Serhiy Storchaka
208bbd29d3
Silence GCC warning.
...
The code was correct, but GCC is not enough clever.
2016-09-22 19:59:46 +03:00
Victor Stinner
6d8bc46cc0
Catch EPERM error in py_getrandom()
...
Issue #27955 : Fallback on reading /dev/urandom device when the getrandom()
syscall fails with EPERM, for example when blocked by SECCOMP.
2016-09-20 22:46:02 +02:00
Victor Stinner
af59732102
Cleanup random.c
...
Issue #27955 : modify py_getrnadom() and dev_urandom()
* Add comments from Python 3.7
* PEP 7 style: add {...}
2016-09-20 22:26:18 +02:00
Steve Dower
1ec262be80
Issue #27932 : Prevent memory leak in win32_ver().
2016-09-17 17:25:42 -07:00
Benjamin Peterson
59e5e0dca2
improve type-safe of and prevent double-frees in get_locale_info ( #28119 )
2016-09-13 22:43:45 -07:00
Raymond Hettinger
262b6793e0
Issue #26020 : Fix evaluation order for set literals
2016-09-08 14:40:36 -07:00
Martin Panter
0be894b2f6
Issue #27895 : Spelling fixes (Contributed by Ville Skyttä).
2016-09-07 12:03:06 +00:00
Senthil Kumaran
32d374215a
[backport to 3.5] - issue26896 - Disambiguate uses of "importer" with "finder".
2016-09-07 00:52:20 -07:00
Raymond Hettinger
f0f1c239e4
Issue 27936: Fix inconsistent round() behavior between float and int
2016-09-03 01:55:11 -07:00
Raymond Hettinger
f0afe77c52
Issue #27909 : Fix INCREF for possible NULL value
2016-08-31 08:44:11 -07:00
Raymond Hettinger
7ea386e56e
Issue 19504: Change "customise" to "customize" American spelling.
2016-08-25 21:11:50 -07:00
Berker Peksag
4b7b565c58
Issue #27587 : Move null pointer check earlier in _PyState_AddModule()
...
This was found by PVS-Studio:
V595 The 'def' pointer was utilized before it was verified
against nullptr. Check lines: 286, 292. pystate.c 286
Initial patch by Christian Heimes.
2016-08-22 18:05:56 +03:00
Victor Stinner
eec9331b20
Fix SystemError in "raise" statement
...
Issue #27558 : Fix a SystemError in the implementation of "raise" statement.
In a brand new thread, raise a RuntimeError since there is no active
exception to reraise.
Patch written by Xiang Zhang.
2016-08-18 18:13:10 +02:00
Martin Panter
69332c1a64
Fix spelling and grammar in documentation and code comments
2016-08-04 13:07:31 +00:00
Martin Panter
95f53c13ce
Issue #16191 : Fix up references to renamed variables
2016-07-18 08:23:26 +00:00
Serhiy Storchaka
80ab069f1b
Issue #27419 : Added temporary workaround for subinterpreters.
2016-07-17 14:15:28 +03:00
Serhiy Storchaka
b3b65e618c
Issue #27419 : Standard __import__() no longer look up "__import__" in globals
...
or builtins for importing submodules or "from import". Fixed handling an
error of non-string package name.
2016-07-17 12:47:17 +03:00
Brett Cannon
7ca63cb7cc
Fix regressions introduced by fixes for issue #27083 .
2016-07-16 10:44:13 -07:00
Benjamin Peterson
e09ed5419b
make too many nested blocks be a SyntaxError instead of a SystemError ( closes #27514 )
...
Patch by Ammar Askar.
2016-07-14 22:00:03 -07:00
Serhiy Storchaka
1a2b24f02d
Issue #27332 : Fixed the type of the first argument of module-level functions
...
generated by Argument Clinic. Patch by Petr Viktorin.
2016-07-07 17:35:15 +03:00
Victor Stinner
ec721f3305
py_getrandom(): use long type for the syscall() result
...
Issue #27278 . It should fix a conversion warning.
In practice, the Linux kernel doesn't return more than 32 MB per call to the
getrandom() syscall.
2016-06-16 23:53:47 +02:00
Serhiy Storchaka
694de3bff7
Issue #27301 : Fixed incorrect return codes for errors in compile.c.
2016-06-15 20:06:07 +03:00
Victor Stinner
c72828ba33
cleanup random.c
...
Casting Py_ssize_t to Py_ssize_t is useless.
2016-06-14 16:35:49 +02:00
Victor Stinner
b98a36e8f3
Fix os.urandom() using getrandom() on Linux
...
Issue #27278 : Fix os.urandom() implementation using getrandom() on Linux.
Truncate size to INT_MAX and loop until we collected enough random bytes,
instead of casting a directly Py_ssize_t to int.
2016-06-14 16:31:35 +02:00
Serhiy Storchaka
3c317e76a2
Issue #27286 : Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. Calling
...
function with generalized unpacking (PEP 448) and conflicting keyword names
could cause undefined behavior.
2016-06-12 09:22:01 +03:00
Martin Panter
39b1025356
Fix typo and move comment to appropriate condition
2016-06-10 08:07:11 +00:00