gdbusconnection: Fix invalid memory access

Occurs when the string is zero length.

https://bugzilla.gnome.org/show_bug.cgi?id=711804
This commit is contained in:
Stef Walter
2013-11-09 09:22:58 +01:00
parent daa6d34e46
commit 885e4429bf

View File

@@ -3792,10 +3792,10 @@ path_rule_matches (const gchar *path_a,
len_a = strlen (path_a);
len_b = strlen (path_b);
if (len_a < len_b && path_a[len_a - 1] != '/')
if (len_a < len_b && (len_a == 0 || path_a[len_a - 1] != '/'))
return FALSE;
if (len_b < len_a && path_b[len_b - 1] != '/')
if (len_b < len_a && (len_b == 0 || path_b[len_b - 1] != '/'))
return FALSE;
return memcmp (path_a, path_b, MIN (len_a, len_b)) == 0;