File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -256,8 +256,11 @@ cdef class ReadBuffer:
256
256
self ._bufs_len += 1
257
257
258
258
cdef inline _ensure_first_buf(self ):
259
- if self ._len0 == 0 :
260
- raise exceptions.BufferError(' empty first buffer' )
259
+ if PG_DEBUG:
260
+ if self ._len0 == 0 :
261
+ raise exceptions.BufferError(' empty first buffer' )
262
+ if self ._length == 0 :
263
+ raise exceptions.BufferError(' empty buffer' )
261
264
262
265
if self ._pos0 == self ._len0:
263
266
self ._switch_to_next_buf()
@@ -597,8 +600,12 @@ cdef class ReadBuffer:
597
600
else :
598
601
buf.write_bytes(self .consume_message())
599
602
603
+ if self ._length > 0 :
604
+ self ._ensure_first_buf()
605
+ else :
606
+ return
607
+
600
608
# Fast path: exhaust buf0 as efficiently as possible.
601
- self ._ensure_first_buf()
602
609
if self ._pos0 + 5 <= self ._len0:
603
610
cbuf = cpython.PyBytes_AS_STRING(self ._buf0)
604
611
new_pos0 = self ._pos0
You can’t perform that action at this time.
0 commit comments