mirror of
https://github.com/msgpack/msgpack-python.git
synced 2025-11-02 02:20:54 +00:00
Fix size limit on pack_array_header and pack_map_header.
This commit is contained in:
parent
e99331d1ab
commit
ef5d93d4ea
2 changed files with 6 additions and 2 deletions
|
|
@ -238,7 +238,7 @@ cdef class Packer(object):
|
||||||
msgpack_pack_raw_body(&self.pk, data, len(data))
|
msgpack_pack_raw_body(&self.pk, data, len(data))
|
||||||
|
|
||||||
def pack_array_header(self, size_t size):
|
def pack_array_header(self, size_t size):
|
||||||
if size >= (2**32-1):
|
if size > (2**32-1):
|
||||||
raise ValueError
|
raise ValueError
|
||||||
cdef int ret = msgpack_pack_array(&self.pk, size)
|
cdef int ret = msgpack_pack_array(&self.pk, size)
|
||||||
if ret == -1:
|
if ret == -1:
|
||||||
|
|
@ -251,7 +251,7 @@ cdef class Packer(object):
|
||||||
return buf
|
return buf
|
||||||
|
|
||||||
def pack_map_header(self, size_t size):
|
def pack_map_header(self, size_t size):
|
||||||
if size >= (2**32-1):
|
if size > (2**32-1):
|
||||||
raise ValueError
|
raise ValueError
|
||||||
cdef int ret = msgpack_pack_map(&self.pk, size)
|
cdef int ret = msgpack_pack_map(&self.pk, size)
|
||||||
if ret == -1:
|
if ret == -1:
|
||||||
|
|
|
||||||
|
|
@ -633,6 +633,8 @@ class Packer(object):
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def pack_array_header(self, n):
|
def pack_array_header(self, n):
|
||||||
|
if n >= 2**32:
|
||||||
|
raise ValueError
|
||||||
self._fb_pack_array_header(n)
|
self._fb_pack_array_header(n)
|
||||||
ret = self._buffer.getvalue()
|
ret = self._buffer.getvalue()
|
||||||
if self._autoreset:
|
if self._autoreset:
|
||||||
|
|
@ -642,6 +644,8 @@ class Packer(object):
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def pack_map_header(self, n):
|
def pack_map_header(self, n):
|
||||||
|
if n >= 2**32:
|
||||||
|
raise ValueError
|
||||||
self._fb_pack_map_header(n)
|
self._fb_pack_map_header(n)
|
||||||
ret = self._buffer.getvalue()
|
ret = self._buffer.getvalue()
|
||||||
if self._autoreset:
|
if self._autoreset:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue