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.