From 4ed7d795fc031597265e8efe5335bfa7d39d9dd0 Mon Sep 17 00:00:00 2001
From: Andre Maroneze <andre.oliveiramaroneze@cea.fr>
Date: Mon, 6 Apr 2020 21:37:51 +0200
Subject: [PATCH] [Lib] fix crash when truncating rich text buffer

---
 src/libraries/utils/rich_text.ml | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/libraries/utils/rich_text.ml b/src/libraries/utils/rich_text.ml
index 4d114a414e4..fe8a162367f 100644
--- a/src/libraries/utils/rich_text.ml
+++ b/src/libraries/utils/rich_text.ml
@@ -152,12 +152,10 @@ let truncate_text buffer size =
           let n_right = size - n_left - 5 in
           if p > 0 then
             Buffer.blit buffer.content p (Buffer.to_bytes buffer.content) 0 n_left;
-          Buffer.add_substring buffer.content "[...]" n_left 5 ;
-          Buffer.blit
-            buffer.content (q-n_right+1)
-            (Buffer.to_bytes buffer.content) (n_left + 5)
-            n_right ;
-          Buffer.truncate buffer.content size ;
+          let buf_right = Buffer.sub buffer.content (q-n_right+1) n_right in
+          Buffer.truncate buffer.content n_left;
+          Buffer.add_string buffer.content "[...]";
+          Buffer.add_string buffer.content buf_right;
         end
     end
 
-- 
GitLab