~ chicken-core (master) 274f5ffb35a6ba2413dee4870404ff460b1da898
commit 274f5ffb35a6ba2413dee4870404ff460b1da898
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Aug 15 21:15:01 2026 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sat Aug 15 21:15:01 2026 +0200
grow buffer for output-bytevector by at least the amount as required, plus current size
(reported by "crzcrz")
diff --git a/library.scm b/library.scm
index caeb1429..56e460f8 100644
--- a/library.scm
+++ b/library.scm
@@ -1277,7 +1277,7 @@ EOF
(let* ((len (##core#inline "C_fixnum_difference" end start))
(i2 (##core#inline "C_fixnum_plus" index len)))
(when (##core#inline "C_fixnum_greaterp" i2 size)
- (let* ((sz2 (##core#inline "C_fixnum_times" size 2))
+ (let* ((sz2 (##core#inline "C_fixnum_plus" size i2))
(bv2 (##sys#make-bytevector sz2)))
(##core#inline "C_copy_memory_with_offset" bv2 buffer 0 0 index)
(set! size sz2)
Trap