From: Eugene Kalinin Date: Fri, 1 Jun 2018 08:43:16 +0000 (+0300) Subject: os: check setStickyBit error in mkdir X-Git-Tag: go1.11beta1~215 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=0e934dd90e81353aa006c9339c626b6c25ea923d;p=gostls13.git os: check setStickyBit error in mkdir If an error occurs, delete the newly created directory. Change-Id: I97e960d24af32f027fb23d5ce3f61959e73f6fb0 Reviewed-on: https://go-review.googlesource.com/115715 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- diff --git a/src/os/file.go b/src/os/file.go index eec0bc4d2e..fa73919620 100644 --- a/src/os/file.go +++ b/src/os/file.go @@ -221,7 +221,12 @@ func Mkdir(name string, perm FileMode) error { // mkdir(2) itself won't handle the sticky bit on *BSD and Solaris if !supportsCreateWithStickyBit && perm&ModeSticky != 0 { - setStickyBit(name) + e = setStickyBit(name) + + if e != nil { + Remove(name) + return e + } } return nil