mirror of
https://github.com/golang/go.git
synced 2025-11-06 11:40:59 +00:00
os: fix LinkError creation on windows.
Not only carrying invalid info but also this caused Error to crash with null pointer exception. Change-Id: Ibfe63d20eb9b9178ea618e59c74111e9245a6779 Reviewed-on: https://go-review.googlesource.com/6270 Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
2b417dc3e1
commit
c2025c4131
2 changed files with 10 additions and 3 deletions
|
|
@ -508,9 +508,8 @@ func Link(oldname, newname string) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return &LinkError{"link", oldname, newname, err}
|
return &LinkError{"link", oldname, newname, err}
|
||||||
}
|
}
|
||||||
|
err = syscall.CreateHardLink(n, o, 0)
|
||||||
e := syscall.CreateHardLink(n, o, 0)
|
if err != nil {
|
||||||
if e != nil {
|
|
||||||
return &LinkError{"link", oldname, newname, err}
|
return &LinkError{"link", oldname, newname, err}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
|
||||||
|
|
@ -533,6 +533,14 @@ func TestHardLink(t *testing.T) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("link %q, %q failed: %v", to, from, err)
|
t.Fatalf("link %q, %q failed: %v", to, from, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
none := "hardlinktestnone"
|
||||||
|
err = Link(none, none)
|
||||||
|
// Check the returned error is well-formed.
|
||||||
|
if lerr, ok := err.(*LinkError); !ok || lerr.Error() == "" {
|
||||||
|
t.Errorf("link %q, %q failed to return a valid error", none, none)
|
||||||
|
}
|
||||||
|
|
||||||
defer Remove(from)
|
defer Remove(from)
|
||||||
tostat, err := Stat(to)
|
tostat, err := Stat(to)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue