glusterd: _is_prefix should handle 0-length paths

If one of the paths given to _is_prefix is 0-length, then it is not a
prefix of the other. Hence, _is_prefix should return false.

Change-Id: I54aa577a64a58940ec91872d0d74dc19cff9106d
fixes: bz#1599783
Signed-off-by: Kaushal M <kaushal@redhat.com>
This commit is contained in:
Kaushal M 2018-07-10 20:56:08 +05:30
parent 2e18269a80
commit e893eb1b23
No known key found for this signature in database
GPG Key ID: 35B58339F67C58C1

View File

@ -1319,6 +1319,15 @@ _is_prefix (char *str1, char *str2)
len1 = strlen (str1);
len2 = strlen (str2);
small_len = min (len1, len2);
/*
* If either one (not both) of the strings are 0-length, they are not
* prefixes of each other.
*/
if ((small_len == 0) && (len1 != len2)) {
return _gf_false;
}
for (i = 0; i < small_len; i++) {
if (str1[i] != str2[i]) {
prefix = _gf_false;