8000 Fix size limit on pack_array_header and pack_map_header. · faerot/msgpack-python@ef5d93d · GitHub
[go: up one dir, main page]

Skip to content

Commit ef5d93d

Browse files
committed
Fix size limit on pack_array_header and pack_map_header.
1 parent e99331d commit ef5d93d

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

msgpack/_packer.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ cdef class Packer(object):
238238
msgpack_pack_raw_body(&self.pk, data, len(data))
239239

240240
def pack_array_header(self, size_t size):
241-
if size >= (2**32-1):
241+
if size > (2**32-1):
242242
raise ValueError
243243
cdef int ret = msgpack_pack_array(&self.pk, size)
244244
if ret == -1:
@@ -251,7 +251,7 @@ cdef class Packer(object):
251251
return buf
252252

253253
def pack_map_header(self, size_t size):
254-
if size >= (2**32-1):
254+
if size > (2**32-1):
255255
raise ValueError
256256
cdef int ret = msgpack_pack_map(&self.pk, size)
257257
if ret == -1:

msgpack/fallback.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -633,6 +633,8 @@ def pack_map_pairs(self, pairs):
633633
return ret
634634

635635
def pack_array_header(self, n):
636+
if n >= 2**32:
637+
raise ValueError
636638
self._fb_pack_array_header(n)
637639
ret = self._buffer.getvalue()
638640
if self._autoreset:
@@ -642,6 +644,8 @@ def pack_array_header(self, n):
642644
return ret
643645

644646
def pack_map_header(self, n):
647+
if n >= 2**32:
648+
raise ValueError
645649
self._fb_pack_map_header(n)
646650
ret = self._buffer.getvalue()
647651
if self._autoreset:

0 commit comments

Comments
 (0)
0