diff options
author | Tim Culverhouse <tim@timculverhouse.com> | 2022-07-05 15:36:29 -0500 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2022-07-10 20:40:22 +0200 |
commit | 635530b12d46ff29555ba322a6bfd3c5bf8f4e7a (patch) | |
tree | 287fe4df58ded4d63c47ae3dd293e30c54660ab5 | |
parent | e19b411e5209bab209fa8d0ee11a0880175ea0e6 (diff) | |
download | aerc-635530b12d46ff29555ba322a6bfd3c5bf8f4e7a.zip |
msglist: fix panic for index-out-of-range
I didn't save the stack trace, but msglist.Selected() can create a panic
for index out of range due to the math operations in the map. My stack
trace resulted in a [-9]. This patch reuses the msgstore.Selected()
method, which already has bounds checking.
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
-rw-r--r-- | widgets/msglist.go | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/widgets/msglist.go b/widgets/msglist.go index ec14e79..399ed72 100644 --- a/widgets/msglist.go +++ b/widgets/msglist.go @@ -403,9 +403,7 @@ func (ml *MessageList) Empty() bool { } func (ml *MessageList) Selected() *models.MessageInfo { - store := ml.Store() - uids := store.Uids() - return store.Messages[uids[len(uids)-ml.store.SelectedIndex()-1]] + return ml.Store().Selected() } func (ml *MessageList) Select(index int) { |