From 891c2b96167fe6ece95e179b09780790d496b95b Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Wed, 23 Jan 2019 20:50:49 +0000 Subject: [PATCH] Uppity X forwarding: fix SockAddr use after free. Another thing pointed out by ASan: new_unix_listener takes ownership of the SockAddr you give it, so I shouldn't have been freeing it at the end of platform_make_x11_server(). --- unix/ux_x11.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/unix/ux_x11.c b/unix/ux_x11.c index d8dfd635..e5b0f73c 100644 --- a/unix/ux_x11.c +++ b/unix/ux_x11.c @@ -201,8 +201,7 @@ int platform_make_x11_server(Plug *plug, const char *progname, int mindisp, out: if (a_tcp) sk_addr_free(a_tcp); - if (a_unix) - sk_addr_free(a_unix); + /* a_unix doesn't need freeing, because new_unix_listener took it over */ sfree(authfilename); strbuf_free(authfiledata); sfree(unix_path);