diff options
author | Nahuel Gomez <contact@nahuelgomez.com.ar> | 2022-01-25 14:23:58 -0300 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2022-02-09 22:23:12 +0100 |
commit | fc7b7ac5be459b01aafa2d696420ee46fbf7789c (patch) | |
tree | 6a14b4631566ee313a4ef797a1e0d387dbdcbde1 | |
parent | 74c004ef9f8857c57d450c79faf0448ce314c365 (diff) | |
download | vala-fc7b7ac5be459b01aafa2d696420ee46fbf7789c.tar.gz |
glib-2.0: Fix criticals in string.joinv() with arrays that start with null
-rw-r--r-- | tests/basic-types/strings.vala | 3 | ||||
-rw-r--r-- | vapi/glib-2.0.vapi | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/tests/basic-types/strings.vala b/tests/basic-types/strings.vala index 22c96b7f9..31eab55dd 100644 --- a/tests/basic-types/strings.vala +++ b/tests/basic-types/strings.vala @@ -66,6 +66,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 1f70bfd60..5796dc21e 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]) : ""); |