Retry after subscribing to the list.  I hope this works and I can
unsubscribe again.

On Wed, Dec 02, 2015 at 03:32:00PM -0800, Jörn Engel wrote:
> Found this when dealing with a "creative" FUSE filesystem.  The fuse
> filesystem will assume that everything exists and is a directory, so
> stat works, cd and file creation do not.  The fuse filesystem is clearly
> bad, but that is not the point.
> 
> Vim will try to mkdir "$TMPDIR/v4sgqHU".  If TMPDIR exists in your
> environment, it will mkdir "/tmp/v4sgqHU" or whatever you have set it
> to.  If it doesn't exist, it will literally mkdir "$TMPDIR/v4sgqHU".
> 
> In most sane environments "$TMPDIR" doesn't exist as vim works just
> fine.  Something like:
> stat("$TMPDIR", 0x7fffc90aad60)         = -1 ENOENT (No such file or 
> directory)
> stat("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=5620, ...}) = 0
> mkdir("/tmp/v3C11LF", 0700)             = 0
> 
> In my insane fuse environment instead:
> stat("$TMPDIR", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
> gettimeofday({1430937134, 707649}, NULL) = 0
> mkdir("$TMPDIR/v4sgqHU", 0700) = -1 EEXIST (File exists)
> mkdir("$TMPDIR/vvuiqHU", 0700) = -1 EEXIST (File exists)
> mkdir("$TMPDIR/vWvkqHU", 0700) = -1 EEXIST (File exists)
> ...
> 
> After about 30s and 250k attempts vim aborts and uses /tmp instead.
> 
> The vim bug is to try "$TMPDIR" even though the environment variable
> isn't set.  Arguably that could become a security-issue if I can create
> a "$TMPDIR" in a directory I control and trick someone else to open a
> file from that directory.  So independently of what praise you might
> want to heap on my fuse-thing, vim is equally at fault here.
> 
> Jörn
> 
> --
> The key to performance is elegance, not battalions of special cases.
> -- Jon Bentley and Doug McIlroy

Jörn

--
But this is not to say that the main benefit of Linux and other GPL
software is lower-cost. Control is the main benefit--cost is secondary.
-- Bruce Perens

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui