[PATCH] compositor: Don't free an uninitialised pointer.

Ondřej Majerech majerech.o at gmail.com
Thu Sep 11 06:53:15 PDT 2014


When backend_init returns NULL, we goto out_signals, which wants to
free(modules), but in this particular code path, modules hasn't been
initialised leading to a "Double-free or corruption" error message.
Initialising modules to NULL makes the free a no-op in this scenario.

Signed-off-by: Ondřej Majerech <majerech.o at gmail.com>
---
 src/compositor.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/compositor.c b/src/compositor.c
index b0bc86c..a219766 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -4335,7 +4335,8 @@ int main(int argc, char *argv[])
 	int i, fd;
 	char *backend = NULL;
 	char *shell = NULL;
-	char *modules, *option_modules = NULL;
+	char *modules = NULL;
+	char *option_modules = NULL;
 	char *log = NULL;
 	char *server_socket = NULL, *end;
 	int32_t idle_time = 300;
-- 
2.1.0



More information about the wayland-devel mailing list