diff options
author | dafengge0913 <dafengge0913@hotmail.com> | 2022-09-10 13:05:34 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-10 13:05:34 +0800 |
commit | c72fb747b8a64117538229f1e5a85d220349b6f1 (patch) | |
tree | 9548497d4f23b34f1e2144c07aff1e07f98942cb /comment.go | |
parent | fb1aab7add52808c96c9cc10570fe73ce797b7f4 (diff) |
Fix DeleteComment slice bounds out of range (#1343)
Diffstat (limited to 'comment.go')
-rw-r--r-- | comment.go | 23 |
1 files changed, 13 insertions, 10 deletions
@@ -156,17 +156,20 @@ func (f *File) DeleteComment(sheet, cell string) (err error) { } commentsXML = strings.TrimPrefix(commentsXML, "/") if comments := f.commentsReader(commentsXML); comments != nil { - for i, cmt := range comments.CommentList.Comment { - if cmt.Ref == cell { - if len(comments.CommentList.Comment) > 1 { - comments.CommentList.Comment = append( - comments.CommentList.Comment[:i], - comments.CommentList.Comment[i+1:]..., - ) - continue - } - comments.CommentList.Comment = nil + for i := 0; i < len(comments.CommentList.Comment); i++ { + cmt := comments.CommentList.Comment[i] + if cmt.Ref != cell { + continue + } + if len(comments.CommentList.Comment) > 1 { + comments.CommentList.Comment = append( + comments.CommentList.Comment[:i], + comments.CommentList.Comment[i+1:]..., + ) + i-- + continue } + comments.CommentList.Comment = nil } f.Comments[commentsXML] = comments } |