compositor: Don't free an uninitialised pointer.

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@gmail.com>
Reviewed-by: Ryo Munakata <ryomnktml@gmail.com>
dev
Ondřej Majerech 10 years ago committed by Pekka Paalanen
parent 5e3b693a11
commit 03db71caea
  1. 3
      src/compositor.c

@ -4335,7 +4335,8 @@ int main(int argc, char *argv[])
int i, fd; int i, fd;
char *backend = NULL; char *backend = NULL;
char *shell = NULL; char *shell = NULL;
char *modules, *option_modules = NULL; char *modules = NULL;
char *option_modules = NULL;
char *log = NULL; char *log = NULL;
char *server_socket = NULL, *end; char *server_socket = NULL, *end;
int32_t idle_time = 300; int32_t idle_time = 300;

Loading…
Cancel
Save