Commit Graph

497 Commits

Author SHA1 Message Date
Serhiy Storchaka 08a81df050
bpo-33817: Fix _PyString_Resize() and _PyUnicode_Resize() for empty strings. (GH-11515) 2019-01-12 09:22:52 +02:00
Gregory P. Smith b6f4472dc4
[2.7] bpo-35214: Fix OOB memory access in unicode escape parser (GH-10506) (GH-10538)
Discovered using clang's MemorySanitizer.

A msan build will fail by simply executing: ./python -c 'u"\N"'
(cherry picked from commit 746b2d3)

Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google LLC]
2018-11-14 11:55:07 -08:00
Victor Stinner dd4d8b4d80
Fix compilation warnings on Windows (GH-8627)
* Fix compilation warning in _ctypes module on Window

(cherry picked from commit 20f11fe43c)

* Fix compilation warnings on Windows 64-bit

(cherry picked from commit 725e421222)

* Fix compiler warning in unicodeobject.c

Explicitly case to Py_UNICODE to fix the warning:

Objects\unicodeobject.c(4225): warning C4244: '=' :
conversion from 'long' to 'Py_UNICODE', possible loss of data

The downcast cannot overflow since we check that value <= 0x10ffff.
2018-08-02 18:02:59 +02:00
Serhiy Storchaka 48c8bf21f9
[2.7] bpo-34234: Use _PyAnyInt_Check() and _PyAnyInt_CheckExact(). (GH-8479) 2018-07-31 09:09:36 +03:00
Serhiy Storchaka 5e79321742 bpo-30074: Fix compile warnings of _PySlice_Unpack and convert missed (#1154)
PySlice_GetIndicesEx in _ctypes.c.
2017-04-15 20:11:12 +03:00
Serhiy Storchaka e41390aca5 bpo-27867: Expand the PySlice_GetIndicesEx macro. (#1023) (#1046)
(cherry picked from commit b879fe8)
2017-04-08 11:48:57 +03:00
Xiang Zhang 7bdb516059 Issue #29145: Fix overflow checks in string, bytearray and unicode.
Patch by jan matejek and Xiang Zhang.
2017-01-09 11:13:20 +08:00
Benjamin Peterson 89f676f30c promote some shifts to unsigned, so as not to invoke undefined behavior 2016-09-06 20:40:04 -07:00
Serhiy Storchaka 373773d5b2 Issue #27473: Fixed possible integer overflow in str, unicode and bytearray
concatenations and repetitions.  Based on patch by Xiang Zhang.
2016-07-12 15:46:57 +03:00
Martin Panter 646b528467 Issue #22463: Backport compiler warning fixes and workarounds
* Set but unused variable in Parser/pgen.c in non-debug builds. Patch by
  Christian Heimes.
* Unused static function in Modules/readline.c. Patch by Georg Brandl.
* main_window unused in Modules/tkappinit.c. Patch by Gregory P. Smith.
* Dead assignment in Modules/_ctypes/cfield.c. Extracted from patch by Brett
  Cannon.
* Expression result unused in PyObject_INIT macro expansions. Based on
  patches by Christian Heimes.
* Load expat_config.h and therefore pyconfig.h before C stdlib headers are
  loaded. This silences pre-processor warnings including '_POSIX_C_SOURCE
  redefined'. Extracted from patch by Christian Heimes.
2016-06-21 23:58:05 +00:00
Serhiy Storchaka 763a61ca95 Issue #26200: Added Py_SETREF and replaced Py_XSETREF with Py_SETREF
in places where Py_DECREF was used.
2016-04-10 18:05:12 +03:00
Serhiy Storchaka 149d080871 Issue #13410: Fixed a bug in PyUnicode_Format where it failed to properly
ignore errors from a __int__() method.

Patch based on the patch for issue #15516.
2016-04-10 15:26:52 +03:00
Serhiy Storchaka bc62af1bbe Issue #22570: Renamed Py_SETREF to Py_XSETREF. 2016-04-06 09:51:18 +03:00
Serhiy Storchaka 5951f2300f Issue #20440: Massive replacing unsafe attribute setting code with special
macro Py_SETREF.
2015-12-24 10:35:35 +02:00
Serhiy Storchaka e37003e9ae Issue #19543: Added Py3k warning for decoding unicode. 2015-12-03 20:47:48 +02:00
Serhiy Storchaka 462502b084 Issue #24848: Fixed yet one bug in UTF-7 decoder. Testing for BASE64 character
was locale depending.
2015-10-10 09:33:11 +03:00
Serhiy Storchaka e12f632186 Issue #24848: Fixed bugs in UTF-7 decoding of misformed data:
1. Non-ASCII bytes were accepted after shift sequence.
2. A low surrogate could be emitted in case of error in high surrogate.
2015-10-02 13:14:53 +03:00
Serhiy Storchaka c7797dc748 Issue #19543: Emit deprecation warning for known non-text encodings.
Backported issues #19619: encode() and decode() methods and constructors
of str, unicode and bytearray classes now emit deprecation warning for known
non-text encodings when Python is ran with the -3 option.

Backported issues #20404: io.TextIOWrapper (and hence io.open()) now uses the
internal codec marking system added to emit deprecation warning for known non-text
encodings at stream construction time when Python is ran with the -3 option.
2015-05-31 20:21:00 +03:00
Serhiy Storchaka 227526dc5c Issue #23055: Fixed read-past-the-end error in PyUnicode_FromFormatV. 2015-01-31 01:15:29 +02:00
Serhiy Storchaka 5ec0bbf27d Issue #23055: Fixed off-by-one error in PyUnicode_FromFormatV. 2015-01-30 23:35:03 +02:00
Serhiy Storchaka 0e0282eb14 Issue #23055: Fixed a buffer overflow in PyUnicode_FromFormatV. Analysis
and fix by Guido Vranken.
2015-01-27 22:17:56 +02:00
Serhiy Storchaka e8c9e14af9 Issue #23181: More "codepoint" -> "code point". 2015-01-18 11:42:50 +02:00
Benjamin Peterson ed4c130d3d cleanup overflowing handling in unicode_decode_call_errorhandler and unicode_encode_ucs1 (closes #22518) 2014-09-29 18:18:57 -04:00
Victor Stinner 2af8d2f698 Issue #22023: Fix %S, %R and %V formats of PyUnicode_FromFormat(). 2014-07-30 00:39:05 +02:00
Benjamin Peterson 7a91bf8675 give non-iterable TypeError a message (closes #20507) 2014-02-15 13:02:52 -05:00
Serhiy Storchaka 98a9722e4a Issue #20437: Fixed 43 potential bugs when deleting objects references. 2014-02-09 13:14:04 +02:00
Serhiy Storchaka f105672332 Issue #19279: UTF-7 decoder no more produces illegal unicode strings. 2013-10-19 20:37:49 +03:00
Serhiy Storchaka e822b034e7 Issue #15866: The xmlcharrefreplace error handler no more produces two XML
entities for a non-BMP character on narrow build.
2013-08-06 16:56:26 +03:00
Serhiy Storchaka ba908c72a0 Issue #18184: PyUnicode_FromFormat() and PyUnicode_FromFormatV() now raise
OverflowError when an argument of %c format is out of range.
2013-06-23 20:22:09 +03:00
Benjamin Peterson da2c7ebd23 allow any type with __getitem__ to be a mapping for the purposes of % (#15801) 2013-03-23 22:32:00 -05:00
Serhiy Storchaka d5327d95d2 Issue #17043: The unicode-internal decoder no longer read past the end of
input buffer.
2013-02-07 16:23:11 +02:00
Serhiy Storchaka c8e58126a2 Issue #16979: Fix error handling bugs in the unicode-escape-decode decoder. 2013-01-29 10:20:34 +02:00
Serhiy Storchaka c59c85c1ac Issue #10156: In the interpreter's initialization phase, unicode globals
are now initialized dynamically as needed.
2013-01-26 12:13:40 +02:00
Serhiy Storchaka 1d3acd4b59 Issue #16335: Fix integer overflow in unicode-escape decoder. 2013-01-21 11:48:24 +02:00
Serhiy Storchaka 74f49ab28b Issue #15989: Fix several occurrences of integer overflow
when result of PyInt_AsLong() or PyLong_AsLong() narrowed
to int without checks.

This is a backport of changesets 13e2e44db99d and 525407d89277.
2013-01-19 12:55:39 +02:00
Serhiy Storchaka 9599745e2c Issue #14850: Now a chamap decoder treates U+FFFE as "undefined mapping"
in any mapping, not only in an unicode string.
2013-01-15 14:42:59 +02:00
Serhiy Storchaka c4b82c037e Issue #11461: Fix the incremental UTF-16 decoder. Original patch by
Amaury Forgeot d'Arc. Added tests for partial decoding of non-BMP
characters.
2013-01-08 23:12:00 +02:00
Serhiy Storchaka c9631a14d7 Fix out of bound read in UTF-32 decoder on "narrow Unicode" builds. 2013-01-08 22:43:18 +02:00
Antoine Pitrou e3ae321222 Issue #15379: Fix passing of non-BMP characters as integers for the charmap decoder (already working as unicode strings).
Patch by Serhiy Storchaka.
2012-11-17 21:14:58 +01:00
Benjamin Peterson 6da3ed63d8 initialize more global type objects (closes #16369) 2012-10-30 23:21:10 -04:00
Mark Dickinson 75d3600466 Issue #14700: Fix buggy overflow checks for large precision and width in new-style and old-style formatting. 2012-10-28 10:00:46 +00:00
Chris Jerdonek ad4b000179 Issue #14783: Backport changes from 3.2. 2012-10-07 20:37:54 -07:00
Benjamin Peterson 23d49d3e7e use the stricter PyMapping_Check (closes #15801) 2012-08-28 17:55:35 -04:00
Antoine Pitrou 715a63b783 Issue #14579: Fix error handling bug in the utf-16 decoder.
Patch by Serhiy Storchaka.
2012-07-21 00:52:06 +02:00
Raymond Hettinger aad5b02e62 Improve tooltips for splitlines() by showing that the default for keepends is False. 2012-06-02 01:42:58 -04:00
Benjamin Peterson fe146ea3c7 merge 2.7 release branch 2012-04-09 14:54:09 -04:00
Benjamin Peterson f51c384a0a fix build without Py_DEBUG and DNDEBUG (closes #14509) 2012-04-09 14:53:07 -04:00
Benjamin Peterson e8ecc73844 kill this terribly outdated comment 2012-03-25 22:40:54 -04:00
Benjamin Peterson 9d7601fcea merge 2.6 2012-02-21 11:24:21 -05:00
Benjamin Peterson 26da920001 ensure no one tries to hash things before the random seed is found 2012-02-21 11:08:50 -05:00