From: Martin Panter Date: Sun, 20 Nov 2016 22:17:44 +0000 (+0000) Subject: Issue #25659: Merge ctypes fix from 3.6 X-Git-Tag: v3.7.0a1~1934 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7d6e9232b142cd85a683a195f614bc2f09751934;p=thirdparty%2FPython%2Fcpython.git Issue #25659: Merge ctypes fix from 3.6 --- 7d6e9232b142cd85a683a195f614bc2f09751934 diff --cc Misc/NEWS index b965a75b0dd2,6ea37bb2c2aa..bbd0b4179f69 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -33,117 -27,112 +33,120 @@@ Core and Builtin - Issue #28583: PyDict_SetDefault didn't combine split table when needed. Patch by Xiang Zhang. -- Issue #27243: Change PendingDeprecationWarning -> DeprecationWarning. - As it was agreed in the issue, __aiter__ returning an awaitable - should result in PendingDeprecationWarning in 3.5 and in - DeprecationWarning in 3.6. +- Issue #28128: Deprecation warning for invalid str and byte escape + sequences now prints better information about where the error + occurs. Patch by Serhiy Storchaka and Eric Smith. -- Issue #26182: Fix a refleak in code that raises DeprecationWarning. +- Issue #28509: dict.update() no longer allocate unnecessary large memory. -- Issue #28721: Fix asynchronous generators aclose() and athrow() to - handle StopAsyncIteration propagation properly. +- Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug + build. -Library -------- +- Issue #28517: Fixed of-by-one error in the peephole optimizer that caused + keeping unreachable code. -- Issue #25659: In ctypes, prevent a crash calling the from_buffer() and - from_buffer_copy() methods on abstract classes like Array. +- Issue #28214: Improved exception reporting for problematic __set_name__ + attributes. -- Issue #19717: Makes Path.resolve() succeed on paths that do not exist. - Patch by Vajrasky Kok +- Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception + loss in PyTraceBack_Here(). -- Issue #28563: Fixed possible DoS and arbitrary code execution when handle - plural form selections in the gettext module. The expression parser now - supports exact syntax supported by GNU gettext. +- Issue #28183: Optimize and cleanup dict iteration. -- Issue #28387: Fixed possible crash in _io.TextIOWrapper deallocator when - the garbage collector is invoked in other thread. Based on patch by - Sebastian Cufre. +- Issue #26081: Added C implementation of asyncio.Future. + Original patch by Yury Selivanov. -- Issue #28600: Optimize loop.call_soon. +- Issue #28379: Added sanity checks and tests for PyUnicode_CopyCharacters(). + Patch by Xiang Zhang. -- Issue #28613: Fix get_event_loop() return the current loop if - called from coroutines/callbacks. +- Issue #28376: The type of long range iterator is now registered as Iterator. + Patch by Oren Milman. -- Issue #28634: Fix asyncio.isfuture() to support unittest.Mock. +- Issue #28376: Creating instances of range_iterator by calling range_iterator + type now is disallowed. Calling iter() on range instance is the only way. + Patch by Oren Milman. -- Issue #26081: Fix refleak in _asyncio.Future.__iter__().throw. +- Issue #26906: Resolving special methods of uninitialized type now causes + implicit initialization of the type instead of a fail. -- Issue #28639: Fix inspect.isawaitable to always return bool - Patch by Justin Mayfield. +- Issue #18287: PyType_Ready() now checks that tp_name is not NULL. + Original patch by Niklas Koep. -- Issue #28652: Make loop methods reject socket kinds they do not support. +- Issue #24098: Fixed possible crash when AST is changed in process of + compiling it. -- Issue #28653: Fix a refleak in functools.lru_cache. +- Issue #28201: Dict reduces possibility of 2nd conflict in hash table when + hashes have same lower bits. -- Issue #28703: Fix asyncio.iscoroutinefunction to handle Mock objects. +- Issue #28350: String constants with null character no longer interned. -- Issue #28704: Fix create_unix_server to support Path-like objects - (PEP 519). +- Issue #26617: Fix crash when GC runs during weakref callbacks. -- Issue #28720: Add collections.abc.AsyncGenerator. +- Issue #27942: String constants now interned recursively in tuples and frozensets. -Documentation -------------- +- Issue #28289: ImportError.__init__ now resets not specified attributes. -- Issue #28513: Documented command-line interface of zipfile. +- Issue #21578: Fixed misleading error message when ImportError called with + invalid keyword args. -Tests ------ +- Issue #28203: Fix incorrect type in complex(1.0, {2:3}) error message. + Patch by Soumya Sharma. -- Issue #28666: Now test.support.rmtree is able to remove unwritable or - unreadable directories. +- Issue #28086: Single var-positional argument of tuple subtype was passed + unscathed to the C-defined function. Now it is converted to exact tuple. -- Issue #23839: Various caches now are cleared before running every test file. +- Issue #28214: Now __set_name__ is looked up on the class instead of the + instance. -Build ------ +- Issue #27955: Fallback on reading /dev/urandom device when the getrandom() + syscall fails with EPERM, for example when blocked by SECCOMP. -- Issue #10656: Fix out-of-tree building on AIX. Patch by Tristan Carel and - Michael Haubenwallner. +- Issue #28192: Don't import readline in isolated mode. -- Issue #26359: Rename --with-optimiations to --enable-optimizations. +- Issue #27441: Remove some redundant assignments to ob_size in longobject.c. + Thanks Oren Milman. -- Issue #28676: Prevent missing 'getentropy' declaration warning on macOS. - Patch by Gareth Rees. +- Issue #27222: Clean up redundant code in long_rshift function. Thanks + Oren Milman. +- Upgrade internal unicode databases to Unicode version 9.0.0. -What's New in Python 3.6.0 beta 3 -================================= +- Issue #28131: Fix a regression in zipimport's compile_source(). zipimport + should use the same optimization level as the interpreter. -*Release date: 2016-10-31* +- Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly + optimize memcpy(). -Core and Builtins ------------------ +- Issue #28120: Fix dict.pop() for splitted dictionary when trying to remove a + "pending key" (Not yet inserted in split-table). Patch by Xiang Zhang. -- Issue #28128: Deprecation warning for invalid str and byte escape - sequences now prints better information about where the error - occurs. Patch by Serhiy Storchaka and Eric Smith. +- Issue #26182: Raise DeprecationWarning when async and await keywords are + used as variable/attribute/class/function name. -- Issue #28509: dict.update() no longer allocate unnecessary large memory. +- Issue #26182: Fix a refleak in code that raises DeprecationWarning. -- Issue #28426: Fixed potential crash in PyUnicode_AsDecodedObject() in debug - build. +- Issue #28721: Fix asynchronous generators aclose() and athrow() to + handle StopAsyncIteration propagation properly. -- Issue #28517: Fixed of-by-one error in the peephole optimizer that caused - keeping unreachable code. +Library +------- -- Issue #28214: Improved exception reporting for problematic __set_name__ - attributes. ++- Issue #25659: In ctypes, prevent a crash calling the from_buffer() and ++ from_buffer_copy() methods on abstract classes like Array. + -- Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception - loss in PyTraceBack_Here(). +- Issue #28548: In the "http.server" module, parse the protocol version if + possible, to avoid using HTTP 0.9 in some error responses. -- Issue #28471: Fix "Python memory allocator called without holding the GIL" - crash in socket.setblocking. +- Issue #19717: Makes Path.resolve() succeed on paths that do not exist. + Patch by Vajrasky Kok -Library -------- +- Issue #28563: Fixed possible DoS and arbitrary code execution when handle + plural form selections in the gettext module. The expression parser now + supports exact syntax supported by GNU gettext. + +- Issue #28387: Fixed possible crash in _io.TextIOWrapper deallocator when + the garbage collector is invoked in other thread. Based on patch by + Sebastian Cufre. - Issue #27517: LZMA compressor and decompressor no longer raise exceptions if given empty data twice. Patch by Benjamin Fogle.