aboutsummaryrefslogtreecommitdiffstats
path: root/src/bindfs.c
diff options
context:
space:
mode:
authorMartin Pärtel <martin.partel@gmail.com>2022-10-17 08:51:29 +0300
committerMartin Pärtel <martin.partel@gmail.com>2022-10-17 08:51:29 +0300
commit6afff1fc626904b3036822d571fe0051094d3449 (patch)
tree095379cad8cab2d5da6fe3fe1d1ff5a43a292119 /src/bindfs.c
parent6fa5cd6480c83240cff72265ccdc45bcdb9576f6 (diff)
downloadbindfs-6afff1fc626904b3036822d571fe0051094d3449.tar.gz
Fixed --resolve-symlinks when mountpoint name starts with source dir name.
Fixes #122
Diffstat (limited to 'src/bindfs.c')
-rw-r--r--src/bindfs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/bindfs.c b/src/bindfs.c
index 65384dc..263aa0e 100644
--- a/src/bindfs.c
+++ b/src/bindfs.c
@@ -393,10 +393,10 @@ static char *process_path(const char *path, bool resolve_symlinks)
we want to be able to operate on broken symlinks. */
return strdup(path);
}
- } else if (strncmp(result, settings.mntdest, settings.mntdest_len) == 0) {
+ } else if (path_starts_with(result, settings.mntdest, settings.mntdest_len)) {
/* Recursive call. We cannot handle this without deadlocking,
especially in single-threaded mode. */
- DPRINTF("Denying recursive access to mountpoint `%s'", result);
+ DPRINTF("Denying recursive access to mountpoint \"%s\" at \"%s\"", settings.mntdest, result);
free(result);
errno = EPERM;
return NULL;