From: Peter Mundy Date: Fri, 24 Sep 2010 02:06:59 +0000 (-0400) Subject: os: check for valid arguments in windows Readdir X-Git-Tag: weekly.2010-09-29~71 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=bfb127612aef196b267202ac2936980d076cb95a;p=gostls13.git os: check for valid arguments in windows Readdir Fixes #1129. R=rsc, brainman CC=Joe Poirier, golang-dev https://golang.org/cl/2211045 --- diff --git a/src/pkg/os/file_windows.go b/src/pkg/os/file_windows.go index 658e9c8ddf..cee3aad7e1 100644 --- a/src/pkg/os/file_windows.go +++ b/src/pkg/os/file_windows.go @@ -113,6 +113,12 @@ func (file *File) Stat() (fi *FileInfo, err Error) { // A negative count means to read until EOF. // Readdir returns the array and an Error, if any. func (file *File) Readdir(count int) (fi []FileInfo, err Error) { + if file == nil || file.fd < 0 { + return nil, EINVAL + } + if !file.isdir() { + return nil, &PathError{"Readdir", file.name, ENOTDIR} + } di := file.dirinfo size := count if size < 0 {