summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Schweizer <genstef@gentoo.org>2005-11-19 23:23:15 +0000
committerStefan Schweizer <genstef@gentoo.org>2005-11-19 23:23:15 +0000
commitd5886e1f1c3120434a12352c1170525ceca8ee2b (patch)
treeef3a764c802c137d7600692324e860211141069e /sys-fs/fuse/files
parentSRC_URL location changed. bug #112362 (diff)
downloadgentoo-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-r11
-rw-r--r--sys-fs/fuse/files/fusermount.patch42
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,