From ed0d6acebdb753728996e18cf2286348a0e4f1de Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 17 May 2020 15:21:11 +0200 Subject: [PATCH] free(socket_path) to suppress leak sanitizer false-positive with -O2 related to #4086 (triggered by our meson config) related to #4087 (sanitizer cleanup tracking bug) --- src/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main.c b/src/main.c index 4f4c3fd6d..481663d3d 100644 --- a/src/main.c +++ b/src/main.c @@ -376,6 +376,11 @@ int main(int argc, char *argv[]) { char *socket_path = root_atom_contents("I3_SOCKET_PATH", NULL, 0); if (socket_path) { printf("%s\n", socket_path); + /* With -O2 (i.e. the buildtype=debugoptimized meson + * option, which we set by default), gcc 9.2.1 optimizes + * away socket_path at this point, resulting in a Leak + * Sanitizer report. An explicit free helps: */ + free(socket_path); exit(EXIT_SUCCESS); }