File tree Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -595,19 +595,22 @@ cdef class ReadBuffer:
595
595
else :
596
596
buf.write_bytes(self .consume_message())
597
597
598
- # Fast path: exhaust buf0 as efficiently as possible
598
+ # Fast path: exhaust buf0 as efficiently as possible.
599
599
self ._ensure_first_buf()
600
600
if self ._pos0 + 5 <= self ._len0:
601
601
cbuf = cpython.PyBytes_AS_STRING(self ._buf0)
602
602
new_pos0 = self ._pos0
603
+ cbuf_len = self ._len0
603
604
604
605
done = 0
605
- while new_pos0 + 5 <= self ._len0:
606
+ # Scan the first buffer and find the position of the
607
+ # end of the last "mtype" message.
608
+ while new_pos0 + 5 <= cbuf_len:
606
609
if (cbuf + new_pos0)[0 ] != mtype:
607
610
done = 1
608
611
break
609
612
msg_len = hton.unpack_int32(cbuf + new_pos0 + 1 ) + 1
610
- if new_pos0 + msg_len > self ._len0 :
613
+ if new_pos0 + msg_len > cbuf_len :
611
614
break
612
615
new_pos0 += msg_len
613
616
@@ -630,7 +633,7 @@ cdef class ReadBuffer:
630
633
# The next message is of a different type.
631
634
return
632
635
633
- # Back to slow path
636
+ # Back to slow path.
634
637
if not self .take_message_type(mtype):
635
638
return
636
639
You can’t perform that action at this time.
0 commit comments