From c75ddd0fa3f669c1b391291a10361ddf8c5170bf Mon Sep 17 00:00:00 2001 From: Anton Kaliaev Date: Mon, 23 Oct 2017 13:02:02 +0400 Subject: [PATCH] return err if empty slice given --- autofile/group.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/autofile/group.go b/autofile/group.go index d5797d087..4b3cd6565 100644 --- a/autofile/group.go +++ b/autofile/group.go @@ -575,6 +575,11 @@ func (gr *GroupReader) Close() error { // Read implements io.Reader, reading bytes from the current Reader // incrementing index until enough bytes are read. func (gr *GroupReader) Read(p []byte) (n int, err error) { + lenP := len(p) + if lenP == 0 { + return 0, errors.New("given empty slice") + } + gr.mtx.Lock() defer gr.mtx.Unlock() @@ -586,7 +591,6 @@ func (gr *GroupReader) Read(p []byte) (n int, err error) { } // Iterate over files until enough bytes are read - lenP := len(p) for { nn, err := gr.curReader.Read(p[n:]) n += nn