Skip to content

Commit 53ca2bb

Browse files
committed
raise ValueError when read_size > max_buffer_size.
1 parent e5462ff commit 53ca2bb

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

msgpack/_msgpack.pyx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -338,14 +338,15 @@ cdef class Unpacker(object):
338338
self.file_like_read = file_like.read
339339
if not PyCallable_Check(self.file_like_read):
340340
raise ValueError("`file_like.read` must be a callable.")
341+
if not max_buffer_size:
342+
max_buffer_size = INT_MAX
343+
self.max_buffer_size = max_buffer_size
344+
if read_size > max_buffer_size:
345+
raise ValueError("read_size should be less or equal to max_buffer_size")
341346
self.read_size = read_size
342347
self.buf = <char*>malloc(read_size)
343348
if self.buf == NULL:
344349
raise MemoryError("Unable to allocate internal buffer.")
345-
if max_buffer_size:
346-
self.max_buffer_size = max_buffer_size
347-
else:
348-
self.max_buffer_size = INT_MAX
349350
self.buf_size = read_size
350351
self.buf_head = 0
351352
self.buf_tail = 0

0 commit comments

Comments
 (0)