diff options
author | Stefan Schweizer <genstef@gentoo.org> | 2005-11-19 23:23:15 +0000 |
---|---|---|
committer | Stefan Schweizer <genstef@gentoo.org> | 2005-11-19 23:23:15 +0000 |
commit | d5886e1f1c3120434a12352c1170525ceca8ee2b (patch) | |
tree | ef3a764c802c137d7600692324e860211141069e /sys-fs/fuse/files | |
parent | SRC_URL location changed. bug #112362 (diff) | |
download | gentoo-2-d5886e1f1c3120434a12352c1170525ceca8ee2b.tar.gz gentoo-2-d5886e1f1c3120434a12352c1170525ceca8ee2b.tar.bz2 gentoo-2-d5886e1f1c3120434a12352c1170525ceca8ee2b.zip |
Fix bug 112902
(Portage version: 2.0.53_rc7)
Diffstat (limited to 'sys-fs/fuse/files')
-rw-r--r-- | sys-fs/fuse/files/digest-fuse-2.4.1-r1 | 1 | ||||
-rw-r--r-- | sys-fs/fuse/files/fusermount.patch | 42 |
2 files changed, 43 insertions, 0 deletions
diff --git a/sys-fs/fuse/files/digest-fuse-2.4.1-r1 b/sys-fs/fuse/files/digest-fuse-2.4.1-r1 new file mode 100644 index 000000000000..74dd1a50f700 --- /dev/null +++ b/sys-fs/fuse/files/digest-fuse-2.4.1-r1 @@ -0,0 +1 @@ +MD5 553bd9c5a4f3cd27f3e2b93844711e4c fuse-2.4.1.tar.gz 384631 diff --git a/sys-fs/fuse/files/fusermount.patch b/sys-fs/fuse/files/fusermount.patch new file mode 100644 index 000000000000..7bd930e46a29 --- /dev/null +++ b/sys-fs/fuse/files/fusermount.patch @@ -0,0 +1,42 @@ +Index: util/fusermount.c +=================================================================== +RCS file: /cvsroot/fuse/fuse/util/fusermount.c,v +retrieving revision 1.69 +diff -u -r1.69 fusermount.c +--- util/fusermount.c 11 Oct 2005 10:12:08 -0000 1.69 ++++ util/fusermount.c 18 Nov 2005 20:32:26 -0000 +@@ -120,6 +120,23 @@ + } + } + ++/* Glibc addmntent() doesn't encode '\n', misencodes '\t' as '\n' ++ (version 2.3.2), and encodes '\\' differently as mount(8). So ++ let's not allow those characters, they are not all that usual in ++ filenames. */ ++static int check_name(const char *name) ++{ ++ char *s; ++ for (s = "\n\t\\"; *s; s++) { ++ if (strchr(name, *s)) { ++ fprintf(stderr, "%s: illegal character 0x%02x in mount entry\n", ++ progname, *s); ++ return -1; ++ } ++ } ++ return 0; ++} ++ + static int add_mount(const char *fsname, const char *mnt, const char *type, + const char *opts) + { +@@ -128,6 +145,10 @@ + struct mntent ent; + FILE *fp; + ++ if (check_name(fsname) == -1 || check_name(mnt) == -1 || ++ check_name(type) == -1 || check_name(opts) == -1) ++ return -1; ++ + fp = setmntent(mtab, "a"); + if (fp == NULL) { + fprintf(stderr, "%s: failed to open %s: %s\n", progname, mtab, |