On Sat, 6 Sep 2014 07:32:51 +0900 Ryo Munakata <ryomnk...@gmail.com> wrote:
> Signed-off-by: Ryo Munakata <ryomnk...@gmail.com> Hi, here the commit message could have listed which leaks it removes exactly. > --- > src/compositor.c | 45 +++++++++++++++++++-------------------------- > 1 file changed, 19 insertions(+), 26 deletions(-) > > diff --git a/src/compositor.c b/src/compositor.c > index 0ecae23..de58c59 100644 > --- a/src/compositor.c > +++ b/src/compositor.c > @@ -4328,15 +4328,13 @@ int main(int argc, char *argv[]) > struct weston_config *config); > int i, fd; > char *backend = NULL; > - char *option_backend = NULL; > char *shell = NULL; > - char *option_shell = NULL; > char *modules, *option_modules = NULL; > char *log = NULL; > char *server_socket = NULL, *end; > int32_t idle_time = 300; > int32_t help = 0; > - const char *socket_name = NULL; > + char *socket_name = NULL; > int32_t version = 0; > int32_t noconfig = 0; > int32_t numlock_on; > @@ -4347,8 +4345,8 @@ int main(int argc, char *argv[]) > struct weston_seat *seat; > > const struct weston_option core_options[] = { > - { WESTON_OPTION_STRING, "backend", 'B', &option_backend }, > - { WESTON_OPTION_STRING, "shell", 0, &option_shell }, > + { WESTON_OPTION_STRING, "backend", 'B', &backend }, > + { WESTON_OPTION_STRING, "shell", 0, &shell }, > { WESTON_OPTION_STRING, "socket", 'S', &socket_name }, > { WESTON_OPTION_INTEGER, "idle-time", 'i', &idle_time }, > { WESTON_OPTION_STRING, "modules", 0, &option_modules }, > @@ -4409,17 +4407,13 @@ int main(int argc, char *argv[]) > } > section = weston_config_get_section(config, "core", NULL, NULL); > > - if (option_backend) > - backend = strdup(option_backend); > - else > - weston_config_section_get_string(section, "backend", &backend, > - NULL); > - > - if (!backend) > - backend = weston_choose_default_backend(); > + if (!backend) { > + weston_config_section_get_string(section, "backend", &backend, > NULL); An over-long line that I fixed when applying the patch. > + if (!backend) > + backend = weston_choose_default_backend(); > + } > > backend_init = weston_load_module(backend, "backend_init"); > - free(backend); > if (!backend_init) { > ret = EXIT_FAILURE; > goto out_signals; > @@ -4473,24 +4467,16 @@ int main(int argc, char *argv[]) > goto out; > } > > - if (option_shell) > - shell = strdup(option_shell); > - else > + if (!shell) > weston_config_section_get_string(section, "shell", &shell, > "desktop-shell.so"); > > - if (load_modules(ec, shell, &argc, argv) < 0) { > - free(shell); > + if (load_modules(ec, shell, &argc, argv) < 0) > goto out; > - } > - free(shell); > > weston_config_section_get_string(section, "modules", &modules, ""); > - if (load_modules(ec, modules, &argc, argv) < 0) { > - free(modules); > + if (load_modules(ec, modules, &argc, argv) < 0) > goto out; > - } > - free(modules); > > if (load_modules(ec, option_modules, &argc, argv) < 0) > goto out; > @@ -4510,7 +4496,7 @@ int main(int argc, char *argv[]) > > wl_display_run(display); > > - out: > +out: > /* prevent further rendering while shutting down */ > ec->state = WESTON_COMPOSITOR_OFFSCREEN; > > @@ -4529,5 +4515,12 @@ out_signals: > > weston_log_file_close(); > > + free(backend); > + free(shell); > + free(socket_name); > + free(option_modules); > + free(log); > + free(modules); > + > return ret; > } Pushed anyway. Thanks, pq _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel