Commit fb005f46 authored by Philip Withnall's avatar Philip Withnall Committed by Rico Tzschichholz

glib-2.0: Fix potential null pointer dereference in string.joinv()

The logic in the ‘is the array null or empty’ check was disjunctive
rather than conjunctive. If (str_array == null), the condition would
have short-circuited and tried to evaluate str_array.length, which would
have crashed.

Coverity CID: #1462389 (spotted when scanning Tracker)

https://bugzilla.gnome.org/show_bug.cgi?id=791257
parent 7091f4ed
......@@ -1092,7 +1092,7 @@ public class string {
if (separator == null) {
separator = "";
}
if (str_array != null || str_array.length > 0 || (str_array.length == -1 && str_array[0] != null)) {
if (str_array != null && (str_array.length > 0 || (str_array.length == -1 && str_array[0] != null))) {
int i;
size_t len = 1;
for (i = 0 ; (str_array.length != -1 && i < str_array.length) || (str_array.length == -1 && str_array[i] != null) ; i++) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment