Package: unionfs-fuse
Version: 0.21-2
Severity: important
Tags: patch

Hi again,

It took me a little while to track it down, but here it is:
When using relative paths unionfs-fuse wasn't allocation enough memory thus the
resulting absolute path was not always correct.

Diff of strace (- current code, + patched code):
-open("/home/ttttttt/ffffff/imagess/\31", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No 
such file or directory)
+open("/home/ttttttt/ffffff/images/", O_RDONLY|O_LARGEFILE) = 4

And as you can guess all the remaining lstat and other system calls fail
because the path doesn't exist.

Cheers,
-- 
Raphael Geissert - Debian Maintainer
www.debian.org - get.debian.net
--- unionfs-fuse-0.21.orig/src/opts.c
+++ unionfs-fuse-0.21/src/opts.c
@@ -52,7 +52,7 @@

   // 2 due to: +1 for '/' between cwd and relpath
   //           +1 for terminating '\0'
- int abslen = cwdlen + strlen(relpath) + 2;
+ int abslen = cwdlen + strlen(relpath) + 3;
   if (abslen > PATHLEN_MAX) {
           fprintf(stderr, "Absolute path too long!\n");
           return NULL;

Reply via email to