diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2004-12-10 11:55:04 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2004-12-10 11:55:04 +0000 |
commit | 16d7c0a74e4764576c1b282ecdb8c24252cde500 (patch) | |
tree | 4ec798cba02fb79297ec332d195d31f21d0df7b0 | |
parent | 566611d3e3628132fcee094bd2a9358b2f431c22 (diff) | |
download | fuse_2_0_bugfix.tar.gz |
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | util/fusermount.c | 9 |
2 files changed, 12 insertions, 2 deletions
@@ -1,3 +1,8 @@ +2004-12-10 Miklos Szeredi <miklos@szeredi.hu> + + * When mounting on a subdirectory of / don't duplicate slashes at + the beggining of path (spotted by David Shaw) + 2004-12-09 Miklos Szeredi <miklos@szeredi.hu> * Fix bug causing garbage in mount options (spotted by David Shaw) diff --git a/util/fusermount.c b/util/fusermount.c index 44cca17..1b15d3e 100644 --- a/util/fusermount.c +++ b/util/fusermount.c @@ -780,8 +780,13 @@ static char *resolve_path(const char *orig) dst = strdup(buf); else { dst = (char *) malloc(strlen(buf) + 1 + strlen(lastcomp) + 1); - if (dst) - sprintf(dst, "%s/%s", buf, lastcomp); + if (dst) { + unsigned buflen = strlen(buf); + if (buflen && buf[buflen-1] == '/') + sprintf(dst, "%s%s", buf, lastcomp); + else + sprintf(dst, "%s/%s", buf, lastcomp); + } } free(copy); if (dst == NULL) |