commit | 86ed0955bf58ecb738b87892b4377e556e2cc88a | [log] [tgz] |
---|---|---|
author | Bryan C. Mills <bcmills@google.com> | Tue May 26 16:11:22 2020 -0400 |
committer | Bryan C. Mills <bcmills@google.com> | Thu May 28 21:41:10 2020 +0000 |
tree | 065c746910d00fe8527d7e479398dd279873302f | |
parent | 5a00adf1ea4320bb7f6c2d0b5ae7cf540275c0a4 [diff] |
os: in Symlink, stat the correct target path for drive-relative targets on Windows Previously, when the target (“old”) path passed to os.Symlink was a “root-relative” Windows path,¹ we would erroneously prepend destination (“new”) path when determining which path to Stat, resulting in an invalid path which was then masked by the lack of error propagation for the Stat call (#39183). If the link target is a directory (rather than a file), that would result in the symlink being created without the SYMBOLIC_LINK_FLAG_DIRECTORY flag, which then fails in os.Open. ¹https://docs.microsoft.com/en-us/windows/win32/fileio/creating-symbolic-links Updates #39183 Change-Id: I04f179cd2b0c44f984f34ec330acad2408aa3a20 Reviewed-on: https://go-review.googlesource.com/c/go/+/235317 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gopher image by Renee French, licensed under Creative Commons 3.0 Attributions license.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
Official binary distributions are available at https://golang.org/dl/.
After downloading a binary release, visit https://golang.org/doc/install or load doc/install.html in your web browser for installation instructions.
If a binary distribution is not available for your combination of operating system and architecture, visit https://golang.org/doc/install/source or load doc/install-source.html in your web browser for source installation instructions.
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines: https://golang.org/doc/contribute.html
Note that the Go project uses the issue tracker for bug reports and proposals only. See https://golang.org/wiki/Questions for a list of places to ask questions about the Go language.