diff options
| author | Karsten Pedersen <kpedersen@disroot.org> | 2021-06-02 09:57:10 +0000 |
|---|---|---|
| committer | Dan Cross <crossd@gmail.com> | 2022-07-27 10:19:26 -0400 |
| commit | 0ebf279d89965e36833b47a357da8000bfe528b0 (patch) | |
| tree | ed867fe4fdaac4a28e1abb2035dd9215e96cf6a5 /src | |
| parent | 45124b23d284d1e205d830591007b7415440b70e (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')
| -rw-r--r-- | src/cmd/rio/manage.c | 3 |
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; } |