Skip to content

Commit aa61e78

Browse files
committed
Fix in Buffer.free
1 parent 5b0d747 commit aa61e78

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

xobjects/context.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,9 +472,13 @@ def grow(self, capacity):
472472
self.capacity = newcapacity
473473

474474
def free(self, offset, size):
475+
if offset < 0 or offset + size > self.capacity:
476+
raise ValueError("Cannot free outside of buffer")
475477
nch = Chunk(offset, offset + size)
476478
# insert sorted
477-
if offset > self.chunks[-1].start: # new chuck at the end
479+
if len(self.chunks) == 0:
480+
self.chunks.append(nch)
481+
elif offset > self.chunks[-1].start: # new chuck at the end
478482
self.chunks.append(nch)
479483
else: # new chuck needs to be inserted
480484
for ic, ch in enumerate(self.chunks):

0 commit comments

Comments
 (0)