From 4b748447532173afb31b5293789f5b68025acb2e Mon Sep 17 00:00:00 2001 From: Mike Cohen Date: Sat, 11 Jan 2020 17:01:59 +1000 Subject: [PATCH] Check for empty buffer (#7) Avoids panic on empty tags --- parser/pages.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/parser/pages.go b/parser/pages.go index c999328..1eb86fb 100644 --- a/parser/pages.go +++ b/parser/pages.go @@ -22,7 +22,8 @@ func (self *Value) Reader() io.ReaderAt { func NewValue(ctx *ESEContext, tag *Tag, PageID int64, buffer []byte) *Value { result := &Value{Tag: tag, PageID: PageID, Buffer: buffer} - if ctx.Version == 0x620 && ctx.Revision >= 17 && ctx.PageSize > 8192 { + if ctx.Version == 0x620 && ctx.Revision >= 17 && + ctx.PageSize > 8192 && len(buffer) > 0 { result.Flags = uint64(buffer[1] >> 5) buffer[1] &= 0x1f } else {