blob: 0c6c6f07fa76a2ec215ad10d459cf1b7277054ed [file] [log] [blame]
diff -up nfs-utils-1.3.0/utils/exportfs/exportfs.c.orig nfs-utils-1.3.0/utils/exportfs/exportfs.c
--- nfs-utils-1.3.0/utils/exportfs/exportfs.c.orig 2016-05-03 10:50:17.226864000 -0400
+++ nfs-utils-1.3.0/utils/exportfs/exportfs.c 2016-05-03 10:51:49.848199000 -0400
@@ -402,8 +402,17 @@ unexportfs_parsed(char *hname, char *pat
hname = ai->ai_canonname;
}
+ /*
+ * It's possible the specified path ends with a '/'. But
+ * the entry from exportlist won't has the trailing '/',
+ * so need to deal with it.
+ */
+ size_t nlen = strlen(path);
+ while (path[nlen - 1] == '/')
+ nlen--;
+
for (exp = exportlist[htype].p_head; exp; exp = exp->m_next) {
- if (path && strcmp(path, exp->m_export.e_path))
+ if (path && strncmp(path, exp->m_export.e_path, nlen))
continue;
if (htype != exp->m_client->m_type)
continue;