aboutsummaryrefslogtreecommitdiff
path: root/src/cmd
diff options
context:
space:
mode:
authorKarsten Pedersen <kpedersen@disroot.org>2021-06-02 09:57:10 +0000
committerDan Cross <crossd@gmail.com>2022-07-27 10:19:26 -0400
commit0ebf279d89965e36833b47a357da8000bfe528b0 (patch)
treeed867fe4fdaac4a28e1abb2035dd9215e96cf6a5 /src/cmd
parent45124b23d284d1e205d830591007b7415440b70e (diff)
Fixed a use after free in rio.
Screen was being queried from within a client after it had been free'd.
Diffstat (limited to 'src/cmd')
-rw-r--r--src/cmd/rio/manage.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cmd/rio/manage.c b/src/cmd/rio/manage.c
index 33951151..b068a101 100644
--- 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;
}