plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit 0ebf279d89965e36833b47a357da8000bfe528b0
parent 45124b23d284d1e205d830591007b7415440b70e
Author: Karsten Pedersen <kpedersen@disroot.org>
Date:   Wed,  2 Jun 2021 09:57:10 +0000

Fixed a use after free in rio.
Screen was being queried from within a client after it had been free'd.

Diffstat:
Msrc/cmd/rio/manage.c | 3++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/cmd/rio/manage.c b/src/cmd/rio/manage.c @@ -116,9 +116,10 @@ manage(Client *c, int mapped) } if(c->is9term && !(fixsize ? drag(c, Button3) : sweep(c, Button3))){ + ScreenInfo *screen = c->screen; XKillClient(dpy, c->window); rmclient(c); - if(current && current->screen == c->screen) + if(current && current->screen == screen) cmapfocus(current); return 0; }