From 9d35a1eb6c1825c7d48c10a3491d4a2c67eeef37 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Sat, 16 Dec 2017 21:20:18 -0800 Subject: [PATCH] Use IsFileNotFound helper in Datastore.Stat Avoids a possible panic when waiting for SearchDatastore to complete. --- object/datastore.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/object/datastore.go b/object/datastore.go index fc696cdf2..6e0e0dbae 100644 --- a/object/datastore.go +++ b/object/datastore.go @@ -406,12 +406,9 @@ func (d Datastore) Stat(ctx context.Context, file string) (types.BaseFileInfo, e info, err := task.WaitForResult(ctx, nil) if err != nil { - if info == nil || info.Error != nil { - _, ok := info.Error.Fault.(*types.FileNotFound) - if ok { - // FileNotFound means the base path doesn't exist. - return nil, DatastoreNoSuchDirectoryError{"stat", dsPath} - } + if types.IsFileNotFound(err) { + // FileNotFound means the base path doesn't exist. + return nil, DatastoreNoSuchDirectoryError{"stat", dsPath} } return nil, err