summaryrefslogtreecommitdiffstats
path: root/utils/gssd/gssd_proc.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2013-09-24 14:33:23 -0400
committerSteve Dickson <steved@redhat.com>2013-09-24 14:33:23 -0400
commit841e83c1caf028bf61ae37030aaa3453f2a2b136 (patch)
tree1b34ac93aaa3f4c053ee8ee7d75f016867b8760f /utils/gssd/gssd_proc.c
parent9f9289efda1a7eff26cd046997efc56c2de40534 (diff)
downloadnfs-utils-841e83c1caf028bf61ae37030aaa3453f2a2b136.tar.gz
nfs-utils-841e83c1caf028bf61ae37030aaa3453f2a2b136.tar.xz
nfs-utils-841e83c1caf028bf61ae37030aaa3453f2a2b136.zip
gssd: fix strncmp bug causing client removals
From: "J. Bruce Fields" <bfields@redhat.com> Both dirname and pdir are null-terminated strings, so there's no reason I can see for the strncmp. And this gives the wrong result when comparing the "nfsd" and "nfsd4_cb" directories! The results were callback clients being removed immediately after creation, when lack of a client with the corresponding name under "nfsd" lead gssd to believe it had disappeared from "nfsd4_cb". Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils/gssd/gssd_proc.c')
-rw-r--r--utils/gssd/gssd_proc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/utils/gssd/gssd_proc.c b/utils/gssd/gssd_proc.c
index 2d3dbec..0383883 100644
--- a/utils/gssd/gssd_proc.c
+++ b/utils/gssd/gssd_proc.c
@@ -525,7 +525,7 @@ update_old_clients(struct dirent **namelist, int size, char *pdir)
/* only compare entries in the global list that are from the
* same pipefs parent directory as "pdir"
*/
- if (strncmp(clp->dirname, pdir, strlen(pdir)) != 0) continue;
+ if (strcmp(clp->dirname, pdir) != 0) continue;
stillhere = 0;
for (i=0; i < size; i++) {