From: Nahuel Gomez Date: Tue, 25 Jan 2022 17:23:58 +0000 (-0300) Subject: glib-2.0: Fix criticals in string.joinv() with arrays that start with null X-Git-Tag: 0.48.23~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=78ba3e8823bcdbb3cb96b1b5028dce0a7174a107;p=thirdparty%2Fvala.git glib-2.0: Fix criticals in string.joinv() with arrays that start with null --- diff --git a/tests/basic-types/strings.vala b/tests/basic-types/strings.vala index 99136bee1..c11342f11 100644 --- a/tests/basic-types/strings.vala +++ b/tests/basic-types/strings.vala @@ -53,6 +53,9 @@ void test_string_joinv () { s = string.joinv ("-", null); assert (s == ""); + s = string.joinv ("-", { null }); + assert (s == ""); + // LeakSanitizer -fsanitize=address sa.length = 3; } diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi index 6b31dca9c..7d9b3c869 100644 --- a/vapi/glib-2.0.vapi +++ b/vapi/glib-2.0.vapi @@ -1213,7 +1213,7 @@ public class string { len += ((!) separator).length * (i - 1); string* res = GLib.malloc (len); - void* ptr = string.copy_to_buffer ((void*) res, (!) str_array[0]); + void* ptr = string.copy_to_buffer ((void*) res, (str_array[0] != null) ? ((!) str_array[0]) : ""); for (i = 1 ; i < str_array.length ; i++) { ptr = string.copy_to_buffer (ptr, (!) separator); ptr = string.copy_to_buffer (ptr, (str_array[i] != null) ? ((!) str_array[i]) : "");