diff options
author | Kaushal M <kaushal@redhat.com> | 2018-07-10 20:56:08 +0530 |
---|---|---|
committer | jiffin tony Thottan <jthottan@redhat.com> | 2018-08-17 05:34:22 +0000 |
commit | 4fc27a7e3022088dbadedb5c2a83b94ae52e1766 (patch) | |
tree | 9ead727321441c0c572694a2bae2cb1403184859 /xlators/mgmt/glusterd | |
parent | c1ebde370ce3b7469f162dfe8aa8751223874605 (diff) |
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
BUG: 1599788
Signed-off-by: Kaushal M <kaushal@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 204a3bf853c..5325edfdda7 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -1318,6 +1318,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-lenght, 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; |