mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-03-20 05:27:56 +01:00
python: Fix segmentation fault when default
returns it's argument.
This commit is contained in:
parent
76b8c3250b
commit
718a3efd64
@ -118,9 +118,9 @@ cdef class Packer(object):
|
|||||||
for v in o:
|
for v in o:
|
||||||
ret = self._pack(v, nest_limit-1)
|
ret = self._pack(v, nest_limit-1)
|
||||||
if ret != 0: break
|
if ret != 0: break
|
||||||
elif self._default is not None:
|
elif self._default:
|
||||||
o = self._default(o)
|
o = self._default(o)
|
||||||
ret = self._pack(o, nest_limit)
|
ret = self._pack(o, nest_limit-1)
|
||||||
else:
|
else:
|
||||||
raise TypeError("can't serialize %r" % (o,))
|
raise TypeError("can't serialize %r" % (o,))
|
||||||
return ret
|
return ret
|
||||||
|
@ -26,7 +26,7 @@ def test_decode_hook():
|
|||||||
unpacked = unpacks(packed, object_hook=_decode_complex)
|
unpacked = unpacks(packed, object_hook=_decode_complex)
|
||||||
eq_(unpacked[1], 1+2j)
|
eq_(unpacked[1], 1+2j)
|
||||||
|
|
||||||
@raises(TypeError)
|
@raises(ValueError)
|
||||||
def test_bad_hook():
|
def test_bad_hook():
|
||||||
packed = packs([3, 1+2j], default=lambda o: o)
|
packed = packs([3, 1+2j], default=lambda o: o)
|
||||||
unpacked = unpacks(packed)
|
unpacked = unpacks(packed)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user