[New-bugs-announce] [issue35901] json.dumps infinite recurssion
MultiSosnooley
report at bugs.python.org
Tue Feb 5 11:50:38 EST 2019
New submission from MultiSosnooley <multisosnooley at gmail.com>:
```
__import__('json').dumps(object(), default=lambda o: repr(o).encode())
```
Produce infinite recursion on `default` function.
Here is more informative example:
```
>>> def f(o):
... input(f"{o!r} {type(o)}")
... return repr(o).encode()
...
>>> import json
>>> json.dumps(object(), default=f)
<object object at 0x7f8c87e987c0> <class 'object'>
b'<object object at 0x7f8c87e987c0>' <class 'bytes'>
b"b'<object object at 0x7f8c87e987c0>'" <class 'bytes'>
b'b"b\'<object object at 0x7f8c87e987c0>\'"' <class 'bytes'>
b'b\'b"b\\\'<object object at 0x7f8c87e987c0>\\\'"\'' <class 'bytes'>
b'b\'b\\\'b"b\\\\\\\'<object object at 0x7f8c87e987c0>\\\\\\\'"\\\'\'' <class 'bytes'>
```
----------
components: Library (Lib)
messages: 334877
nosy: MultiSosnooley
priority: normal
severity: normal
status: open
title: json.dumps infinite recurssion
type: crash
versions: Python 3.6, Python 3.8
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue35901>
_______________________________________
More information about the New-bugs-announce
mailing list