diff options
author | Robin Jarry <robin@jarry.cc> | 2022-09-19 15:18:46 +0200 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2022-09-19 21:25:13 +0200 |
commit | b31bb1876bee90434496d852f55a820fa3a26ca5 (patch) | |
tree | 333a93d0060853e46824a03caa56b8f9a25ecb22 /widgets/listbox.go | |
parent | cb84df09f6d1b813787b526e3ac2faff87205b64 (diff) | |
download | aerc-b31bb1876bee90434496d852f55a820fa3a26ca5.tar.gz |
msgviewer: fix segfault when closing viewer
There is a race between PartViewer.Cleanup and PartViewer.Draw. pv.term
may be not nil in Draw and Cleanup() may set it to nil before
pv.term.Draw() is called, causing an invalid memory access:
[signal SIGSEGV: segmentation violation code=0x1 addr=0x29 pc=0x9413b8]
git.sr.ht/~rjarry/aerc/widgets.(*Terminal).Draw(0x0?, 0x0?)
git.sr.ht/~rjarry/aerc/widgets/terminal.go:97 +0x18
git.sr.ht/~rjarry/aerc/widgets.(*PartViewer).Draw(0xc00012a540, 0xc0026ea690)
git.sr.ht/~rjarry/aerc/widgets/msgviewer.go:862 +0x2fd
There is no need to reset term to nil.
Fixes: 77f69501d648 ("msgviewer: properly close embedded terminal")
Signed-off-by: Robin Jarry <robin@jarry.cc>
Acked-by: Tim Culverhouse <tim@timculverhouse.com>
Diffstat (limited to 'widgets/listbox.go')
0 files changed, 0 insertions, 0 deletions