diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/utils/docker-util.c b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/utils/docker-util.c index 860320d907d..e8e2b9e9aa4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/utils/docker-util.c +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/utils/docker-util.c @@ -687,8 +687,9 @@ static int check_mount_permitted(const char **permitted_mounts, const char *requ } // directory check permitted_mount_len = strlen(permitted_mounts[i]); - if (permitted_mount_len > 0 - && permitted_mounts[i][permitted_mount_len - 1] == '/') { + struct stat path_stat; + stat(permitted_mounts[i], &path_stat); + if(S_ISDIR(path_stat.st_mode)) { if (strncmp(normalized_path, permitted_mounts[i], permitted_mount_len) == 0) { ret = 1; break;