From bfb127612aef196b267202ac2936980d076cb95a Mon Sep 17 00:00:00 2001 From: Peter Mundy Date: Thu, 23 Sep 2010 22:06:59 -0400 Subject: [PATCH] os: check for valid arguments in windows Readdir Fixes #1129. R=rsc, brainman CC=Joe Poirier, golang-dev https://golang.org/cl/2211045 --- src/pkg/os/file_windows.go | 6 ++++++ 1 file changed, 6 insertions(+) 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 { -- 2.51.0