pack raise MemoryError when realloc is failed.

This commit is contained in:
INADA Naoki 2012-12-10 01:42:38 +09:00
parent 4480227e06
commit ed40c671da

View file

@ -179,7 +179,9 @@ cdef class Packer(object):
cpdef pack(self, object obj):
cdef int ret
ret = self._pack(obj, DEFAULT_RECURSE_LIMIT)
if ret:
if ret == -1:
raise MemoryError
elif ret: # should not happen.
raise TypeError
buf = PyBytes_FromStringAndSize(self.pk.buf, self.pk.length)
self.pk.length = 0