Serhiy Storchaka
cfa797c068
bpo-24641: Improved error message for JSON unserializible keys. ( #4364 )
...
Also updated an example for default() in the module docstring.
Removed quotes around type name in other error messages.
2017-11-25 17:38:20 +02:00
Oren Milman
2b382dd612
bpo-31505: Fix an assertion failure in json, in case _json.make_encoder() received a bad encoder() argument. ( #3643 )
2017-09-24 12:07:12 +03:00
Eric Snow
fc1bf872e9
bpo-30860: Move windows.h include out of internal/*.h. ( #3458 )
...
PR #3397 introduced a large number of warnings to the Windows build. This patch fixes them.
2017-09-11 18:30:43 -07:00
Eric Snow
2ebc5ce42a
bpo-30860: Consolidate stateful runtime globals. ( #3397 )
...
* group the (stateful) runtime globals into various topical structs
* consolidate the topical structs under a single top-level _PyRuntimeState struct
* add a check-c-globals.py script that helps identify runtime globals
Other globals are excluded (see globals.txt and check-c-globals.py).
2017-09-07 23:51:28 -06:00
INADA Naoki
a6296d34a4
bpo-31095: fix potential crash during GC (GH-2974)
2017-08-24 14:55:17 +09:00
Serhiy Storchaka
49f6449ef4
bpo-30936: Fix a reference leak in json when fail to sort keys. ( #2712 )
2017-07-16 07:29:16 +03:00
Segev Finer
541bd28941
bpo-30911: Fix a crash in json on platforms with unsigned char ( #2684 )
...
when pass bad strict argument.
2017-07-13 08:52:08 +03:00
Serhiy Storchaka
ac5bbd43bc
bpo-30248: Convert boolean arguments only once in _json. ( #1423 )
...
Rather than saving the Python object and calling PyObject_IsTrue()
every time when the boolean argument is used, call it only once and
save C boolean value.
2017-05-28 15:31:49 +03:00
Serhiy Storchaka
76a3e51a40
bpo-30243: Fixed the possibility of a crash in _json. ( #1420 )
...
It was possible to get a core dump by using uninitialized
_json objects. Now __new__ methods create initialized objects.
__init__ methods are removed.
2017-05-05 10:08:49 +03:00
Serhiy Storchaka
fff9a31a91
bpo-29865: Use PyXXX_GET_SIZE macros rather than Py_SIZE for concrete types. ( #748 )
2017-03-21 08:53:25 +02:00
Serhiy Storchaka
d1302c0154
Issue #28999 : Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever
...
possible but Coccinelle couldn't find opportunity.
2017-01-23 10:23:58 +02:00
Serhiy Storchaka
8cbc51ab3d
Py_SIZE() was misused for dict.
2017-01-13 08:38:15 +02:00
Serhiy Storchaka
a6758427fd
Py_SIZE() was misused for dict.
2017-01-13 08:37:05 +02:00
Serhiy Storchaka
3023ebb43f
Py_SIZE() was misused for dict.
2017-01-13 08:34:34 +02:00
Serhiy Storchaka
0f05512104
Fixed possible reference leaks in the _json module.
2017-01-03 11:20:15 +02:00
Serhiy Storchaka
8d979d576e
Fixed possible reference leaks in the _json module.
2017-01-03 11:19:48 +02:00
Serhiy Storchaka
21fe721345
Fixed possible reference leaks in the _json module.
2017-01-03 11:17:44 +02:00
Victor Stinner
4c38154a43
Don't parenthesis in _PyObject_CallMethodId() format
...
Issue #28915 : Without parenthesis, _PyObject_CallMethodId() avoids the creation
a temporary tuple, and so is more efficient.
2016-12-09 00:33:39 +01:00
Victor Stinner
de4ae3d486
Backed out changeset b9c9691c72c5
...
Issue #28858 : The change b9c9691c72c5 introduced a regression. It seems like
_PyObject_CallArg1() uses more stack memory than
PyObject_CallFunctionObjArgs().
2016-12-04 22:59:09 +01:00
Victor Stinner
27580c1fb5
Replace PyObject_CallFunctionObjArgs() with fastcall
...
* PyObject_CallFunctionObjArgs(func, NULL) => _PyObject_CallNoArg(func)
* PyObject_CallFunctionObjArgs(func, arg, NULL) => _PyObject_CallArg1(func, arg)
PyObject_CallFunctionObjArgs() allocates 40 bytes on the C stack and requires
extra work to "parse" C arguments to build a C array of PyObject*.
_PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate
memory on the C stack.
This change is part of the fastcall project. The change on listsort() is
related to the issue #23507 .
2016-12-01 14:43:22 +01:00
Serhiy Storchaka
96cdbe7bc8
Issue #26719 : More efficient formatting of ints and floats in json.
2016-04-10 14:43:04 +03:00
Serhiy Storchaka
e0805cf10e
Issue #26719 : More efficient formatting of ints and floats in json.
2016-04-10 14:41:19 +03:00
Serhiy Storchaka
ef1585eb9a
Issue #25923 : Added more const qualifiers to signatures of static and private functions.
2015-12-25 20:01:53 +02:00
Serhiy Storchaka
f002225f7e
Issue #24683 : Fixed crashes in _json functions called with arguments of
...
inappropriate type.
2015-07-26 09:02:23 +03:00
Serhiy Storchaka
83236f7a8b
Issue #24683 : Fixed crashes in _json functions called with arguments of
...
inappropriate type.
2015-07-26 09:01:22 +03:00
Benjamin Peterson
7b78d4364d
prevent integer overflow in escape_unicode ( closes #24522 )
2015-06-27 15:01:51 -05:00
Serhiy Storchaka
ac5569b1fa
Issue #24115 : Update uses of PyObject_IsTrue(), PyObject_Not(),
...
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
2015-05-30 17:48:19 +03:00
Serhiy Storchaka
fa494fd883
Issue #24115 : Update uses of PyObject_IsTrue(), PyObject_Not(),
...
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
2015-05-30 17:45:22 +03:00
Benjamin Peterson
88abdef02b
merge 3.4 ( #24094 )
2015-05-02 22:37:13 -04:00
Benjamin Peterson
122f4b1bda
merge 3.3 ( #24094 )
2015-05-02 22:36:26 -04:00
Benjamin Peterson
501182a47b
just sort the items tuple directly ( closes #24094 )
2015-05-02 22:28:04 -04:00
Victor Stinner
f024d263b4
Issue #23685 : Fix usage of PyMODINIT_FUNC in _json, _scproxy, nis, pyexpat
...
_codecs_cn, _codecs_hk, _codecs_iso2022, _codecs_jp, _codecs_kr and _codecs_tw
modules.
pyexpat.c doesn't need to redeclare PyMODINIT_FUNC, it's already declared in
Include/pyport.h.
2015-03-17 17:48:27 +01:00
Serhiy Storchaka
483405bcca
Issue #22883 : Got rid of outdated references to PyInt and PyString in comments.
2015-02-17 10:14:30 +02:00
Benjamin Peterson
71cf91cc09
merge 3.4 ( #23369 )
2015-02-01 18:00:19 -05:00
Benjamin Peterson
3675cd9db1
merge 3.3 ( #23369 )
2015-02-01 17:59:49 -05:00
Benjamin Peterson
e3bfe19358
fix possible overflow in encode_basestring_ascii ( closes #23369 )
2015-02-01 17:53:53 -05:00
Serhiy Storchaka
47efb4a5dc
Issue #19361 : JSON decoder now raises JSONDecodeError instead of ValueError.
2015-01-26 13:16:30 +02:00
Antoine Pitrou
dc3eaa80d4
Issue #23206 : Make ``json.dumps(..., ensure_ascii=False)`` as fast as the default case of ``ensure_ascii=True``. Patch by Naoki Inada.
2015-01-11 16:41:01 +01:00
Victor Stinner
31a3ec313d
Issue #22338 : Fix a crash in the json module on memory allocation failure.
2014-09-10 23:31:42 +02:00
Benjamin Peterson
70d92a96ab
merge 3.3
2014-04-14 11:48:21 -04:00
Benjamin Peterson
9beee049b0
merge 3.2
2014-04-14 11:46:51 -04:00
Benjamin Peterson
6ef2b36afa
disallow a negative idx parameter
2014-04-14 11:45:21 -04:00
Benjamin Peterson
584f5cbf16
merge 3.3
2014-04-13 22:31:42 -04:00
Benjamin Peterson
156285c35f
merge 3.2
2014-04-13 22:28:16 -04:00
Benjamin Peterson
99b5afab74
in scan_once, prevent the reading of arbitrary memory when passed a negative index
...
Bug reported by Guido Vranken.
2014-04-13 22:10:38 -04:00
Serhiy Storchaka
687ff0ecdf
Issue #11489 : JSON decoder now accepts lone surrogates.
2013-11-26 21:27:11 +02:00
Serhiy Storchaka
c93329b3dd
Issue #11489 : JSON decoder now accepts lone surrogates.
2013-11-26 21:25:28 +02:00
Ethan Furman
a4998a7041
Close #18264 : int- and float-derived enums now converted to int or float.
2013-08-10 13:01:45 -07:00
Christian Heimes
75e923fcf2
Issue #16847 : Fixed improper use of _PyUnicode_CheckConsistency() in
...
non-pydebug builds. Several extension modules now compile cleanly when
assert()s are enabled in standard builds (-DDEBUG flag).
2013-01-03 09:22:41 +01:00
Christian Heimes
f402e922f3
Issue #16847 : Fixed improper use of _PyUnicode_CheckConsistency() in
...
non-pydebug builds. Several extension modules now compile cleanly when
assert()s are enabled in standard builds (-DDEBUG flag).
2013-01-03 09:21:55 +01:00