From 58577f57c6bd23a42ae2acd02acc2f686c16ab6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Sopy=C5=82o?= Date: Sat, 29 Jun 2019 16:24:59 +0200 Subject: [PATCH] fix: segfault when using string.ustring_tmp() --- vlib/builtin/string.v | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vlib/builtin/string.v b/vlib/builtin/string.v index 33d4534f9e..dbf16b88b5 100644 --- a/vlib/builtin/string.v +++ b/vlib/builtin/string.v @@ -653,6 +653,9 @@ pub fn (s string) ustring() ustring { // right away. Uses global buffer for storing runes []int array. __global g_ustring_runes []int pub fn (s string) ustring_tmp() ustring { + if g_ustring_runes.len == 0 { + g_ustring_runes = new_array(0, 128, sizeof(int)) + } mut res := ustring { s: s } @@ -811,7 +814,7 @@ pub fn (s string) reverse() string { } for i := s.len - 1; i >= 0; i-- { - res[s.len-i-1] = s[i] + res[s.len-i-1] = s[i] } return res