From 0f9771ce4c6082ddd95cd4ddfbeedb4d4f752a16 Mon Sep 17 00:00:00 2001 From: Marcos Venicius Date: Tue, 20 May 2025 11:55:32 -0300 Subject: [PATCH 1/2] check if the offset is greater than replacement length before continue #112 --- src/buffer/mod.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/buffer/mod.rs b/src/buffer/mod.rs index 5587caed1825..4a4520f91491 100644 --- a/src/buffer/mod.rs +++ b/src/buffer/mod.rs @@ -1990,6 +1990,10 @@ impl TextBuffer { let mut y = beg.logical_pos.y; loop { + if offset >= replacement.len() { + break; + } + let mut remove = 0; if replacement[offset] == b'\t' { From 20320fd140372b258a07b90a9da31ad22b645d6c Mon Sep 17 00:00:00 2001 From: Marcos Venicius Date: Tue, 20 May 2025 11:59:11 -0300 Subject: [PATCH 2/2] remove offset check from bottom of the loop --- src/buffer/mod.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/buffer/mod.rs b/src/buffer/mod.rs index 4a4520f91491..94b471aa4111 100644 --- a/src/buffer/mod.rs +++ b/src/buffer/mod.rs @@ -2019,9 +2019,6 @@ impl TextBuffer { } (offset, y) = unicode::newlines_forward(&replacement, offset, y, y + 1); - if offset >= replacement.len() { - break; - } } if replacement.len() == initial_len {