From 0e934dd90e81353aa006c9339c626b6c25ea923d Mon Sep 17 00:00:00 2001 From: Eugene Kalinin Date: Fri, 1 Jun 2018 11:43:16 +0300 Subject: [PATCH] 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 --- src/os/file.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 -- 2.50.0