aboutsummaryrefslogtreecommitdiff
path: root/src/os/executable_darwin.go
diff options
context:
space:
mode:
authorRoberto Clapis <robclap8@gmail.com>2018-08-02 15:27:14 +0200
committerBrad Fitzpatrick <bradfitz@golang.org>2018-08-02 20:31:25 +0000
commitfaadda040d49c581a82fc459c34186c8bff58a2b (patch)
tree39dfa98ff172b5679b49b06d3ea4ca19547895d1 /src/os/executable_darwin.go
parentb3b2f5d9cad01a23622287028fe8c57d59559169 (diff)
downloadgo-faadda040d49c581a82fc459c34186c8bff58a2b.tar.xz
os: add check for empty executable path on darwin
os used to panic (access out of bounds) if executablePath was left empty Fixes #22529 Change-Id: Iead5e60a3b000dbde421a8e8612c3690340879ce Reviewed-on: https://go-review.googlesource.com/127546 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/os/executable_darwin.go')
-rw-r--r--src/os/executable_darwin.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/os/executable_darwin.go b/src/os/executable_darwin.go
index ce5b8140a4..dae9f4ee18 100644
--- a/src/os/executable_darwin.go
+++ b/src/os/executable_darwin.go
@@ -4,12 +4,17 @@
package os
+import "errors"
+
var executablePath string // set by ../runtime/os_darwin.go
var initCwd, initCwdErr = Getwd()
func executable() (string, error) {
ep := executablePath
+ if len(ep) == 0 {
+ return ep, errors.New("cannot find executable path")
+ }
if ep[0] != '/' {
if initCwdErr != nil {
return ep, initCwdErr