fdtable: don't try to zap fdtable entry if close is called for non-existing fd

FDTable.setAll is used to zap entries, but it grows the table up to
a specified fd.

Reported-by: syzbot+9e281b0750d2d4caa190@syzkaller.appspotmail.com
PiperOrigin-RevId: 301280000
This commit is contained in:
Andrei Vagin
2020-03-16 18:29:58 -07:00
committed by gVisor bot
parent 2a6c4369be
commit b55f0e5d40
+3 -1
View File
@@ -536,7 +536,9 @@ func (f *FDTable) Remove(fd int32) (*fs.File, *vfs.FileDescription) {
case orig2 != nil:
orig2.IncRef()
}
f.setAll(fd, nil, nil, FDFlags{}) // Zap entry.
if orig != nil || orig2 != nil {
f.setAll(fd, nil, nil, FDFlags{}) // Zap entry.
}
return orig, orig2
}