[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