13111: Fix nil pointer dereference at sitefs root.
authorTom Clegg <tclegg@veritasgenetics.com>
Tue, 16 Jan 2018 21:40:20 +0000 (16:40 -0500)
committerTom Clegg <tclegg@veritasgenetics.com>
Tue, 16 Jan 2018 21:40:20 +0000 (16:40 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

sdk/go/arvados/fs_site.go

index 9f3dbce0d89147c569ac81489a5adcfcbdfc05ea..37ec8a33133d9c4b5ead41094e634d09d0743ddd 100644 (file)
@@ -91,13 +91,14 @@ func (vn *vdirnode) Child(name string, _ func(inode) inode) inode {
        return vn.inode.Child(name, func(existing inode) inode {
                if existing != nil {
                        return existing
-               } else {
-                       n := vn.create(vn, name)
-                       if n != nil {
-                               n.SetParent(vn, name)
-                               vn.inode.(*treenode).fileinfo.modTime = time.Now()
-                       }
-                       return n
+               } else if vn.create == nil {
+                       return nil
                }
+               n := vn.create(vn, name)
+               if n != nil {
+                       n.SetParent(vn, name)
+                       vn.inode.(*treenode).fileinfo.modTime = time.Now()
+               }
+               return n
        })
 }