Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

ethomson
Copy link
Member

Some more backports for an 0.21.2.

Edward Thomson and others added 12 commits October 25, 2014 15:05
A reparse point that is an IO_REPARSE_TAG_MOUNT_POINT could be
a junction or an actual filesystem mount point.  (Who knew?)
If it's the latter, its reparse point will report the actual
volume information \??\Volume{GUID}\ and we should not attempt
to dereference that further, instead readlink should report
EINVAL since it's not a symlink / junction and its original
path was canonical.

Yes, really.
FindFirstFile will fail with INVALID_HANDLE_VALUE if there are no
children to the given path, which can happen if the given path is a
file (and obviously has no children) or if the given path is an empty
mount point.  (Most directories have at least directory entries '.'
and '..', but ridiculously another volume mounted in another drive
letter's path space do not, and thus have nothing to enumerate.)

If FindFirstFile fails, check if this is a directory-like thing
(a mount point).
@ethomson
Copy link
Member Author

@carlosmn can you sanity check cb93013 and cb398da ?

@ethomson
Copy link
Member Author

(The rest are simply backports)

@ethomson
Copy link
Member Author

Scratch that, cb398da sucked. cb93013 and cc71348

@carlosmn
Copy link
Member

They look sane. I'm going to merge this, then.

carlosmn added a commit that referenced this pull request Oct 27, 2014
@carlosmn carlosmn merged commit a1f4d65 into libgit2:maint/v0.21 Oct 27, 2014
@ethomson ethomson deleted the v0.21.2 branch October 27, 2014 03:26
@ethomson ethomson mentioned this pull request Oct 27, 2014
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants