Bug#511995: unionfs-fuse: too short memory allocation when determining absolute path

2009-01-23 Thread Bernd Schubert
Sorry for the delay, I was busy all the time. I upgraded the bug to serious 
and uploaded a new package to mentors. Once it is in unstable I will write a 
mail to the release team.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#511995: unionfs-fuse: too short memory allocation when determining absolute path

2009-01-16 Thread Bernd Schubert
Hello Raphael,

On Friday 16 January 2009, Raphael Geissert wrote:
 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/ttt/ff/imagess/\31, O_RDONLY|O_LARGEFILE) = -1 ENOENT
 (No such file or directory) +open(/home/ttt/ff/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.

thanks a lot for spotting this! Stupid me! I introduced this in changeset 255 
and didn't notice the missing byte, even though I even added the comments 
what for +2 is for and then added another trailing slash :(

http://podgorny.cz/~bernd/hg/hgwebdir.cgi/radek-trunk-bernd-merge/rev/5e0ced59f299

I will upload a new package in the evening.


Thanks again,
Bernd




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#511995: unionfs-fuse: too short memory allocation when determining absolute path

2009-01-15 Thread Raphael Geissert
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/ttt/ff/imagess/\31, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No 
such file or directory)
+open(/home/ttt/ff/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;