Thanks for the bug report Jamie, this one would have been easily to slip by.
It looks like an off-by-one error in the eCryptfs kernel code. We're tacking on an extra byte to the symlink target. Dustin pointed this out to me and I was able to verify it with `strace readlink -n bar`. Here's the interesting line:
readlink("bar", "foo", 64) = 4
It is reading 4 chars, but since we're adding an extra NULL character (string terminator), most applications don't care. I'm guessing that only something like a version control system would have caught it. :)
Thanks for the bug report Jamie, this one would have been easily to slip by.
It looks like an off-by-one error in the eCryptfs kernel code. We're tacking on an extra byte to the symlink target. Dustin pointed this out to me and I was able to verify it with `strace readlink -n bar`. Here's the interesting line:
readlink("bar", "foo", 64) = 4
It is reading 4 chars, but since we're adding an extra NULL character (string terminator), most applications don't care. I'm guessing that only something like a version control system would have caught it. :)
Working to trace down the problem now.