diff options
| author | Sebastian Lackner | 2019-01-03 17:48:54 +0100 | 
|---|---|---|
| committer | rfjakob | 2019-01-03 18:24:05 +0100 | 
| commit | 927b3ce4cfb455a258a15a5566429c44cf32cb35 (patch) | |
| tree | 08a4fdc9d669868d8211c9e4e084e54008e1781a /internal | |
| parent | d86f9914accffa4e17c2056fe808c67a14365ce3 (diff) | |
syscallcompat: Use O_PATH to open base directory.
Also remove some unnecessary flags: When O_PATH is specified in flags, flag
bits other than O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW are ignored.
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/syscallcompat/open_nofollow.go | 5 | 
1 files changed, 2 insertions, 3 deletions
| diff --git a/internal/syscallcompat/open_nofollow.go b/internal/syscallcompat/open_nofollow.go index db39415..a1e7cce 100644 --- a/internal/syscallcompat/open_nofollow.go +++ b/internal/syscallcompat/open_nofollow.go @@ -23,8 +23,7 @@ func OpenDirNofollow(baseDir string, relPath string) (fd int, err error) {  		return -1, syscall.EINVAL  	}  	// Open the base dir (following symlinks) -	// TODO: should this use syscallcompat.O_PATH? -	dirfd, err := syscall.Open(baseDir, syscall.O_RDONLY|syscall.O_DIRECTORY, 0) +	dirfd, err := syscall.Open(baseDir, syscall.O_DIRECTORY|O_PATH, 0)  	if err != nil {  		return -1, err  	} @@ -37,7 +36,7 @@ func OpenDirNofollow(baseDir string, relPath string) (fd int, err error) {  	// Walk the directory tree  	var dirfd2 int  	for _, name := range parts { -		dirfd2, err = Openat(dirfd, name, syscall.O_RDONLY|syscall.O_NOFOLLOW|syscall.O_DIRECTORY|O_PATH, 0) +		dirfd2, err = Openat(dirfd, name, syscall.O_NOFOLLOW|syscall.O_DIRECTORY|O_PATH, 0)  		syscall.Close(dirfd)  		if err != nil {  			return -1, err | 
