From ddfa5cdfec1b7dc4af32d3fca8a66fc58506146f Mon Sep 17 00:00:00 2001 From: Derek Collison Date: Wed, 29 Mar 2023 11:05:47 -0700 Subject: [PATCH] Additional protection for bad state when rebuilding a message block Signed-off-by: Derek Collison --- server/filestore.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/filestore.go b/server/filestore.go index 59b80f7434..8e1856ed5e 100644 --- a/server/filestore.go +++ b/server/filestore.go @@ -1044,7 +1044,7 @@ func (mb *msgBlock) rebuildStateLocked() (*LostStreamData, error) { rl &^= hbit dlen := int(rl) - msgHdrSize // Do some quick sanity checks here. - if dlen < 0 || int(slen) > dlen || dlen > int(rl) || rl > rlBadThresh { + if dlen < 0 || int(slen) > (dlen-8) || dlen > int(rl) || rl > rlBadThresh { truncate(index) return gatherLost(lbuf - index), errBadMsg }