On Fri, 12 Sep 2014 03:08:40 +0900 Ryo Munakata <[email protected]> wrote:
> On Thu, 11 Sep 2014 15:53:15 +0200 > Ondřej Majerech <[email protected]> wrote: > > > 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 <[email protected]> > > --- > > 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; > > This is right. > I forgot to condider that case when I moved free()s to the end of main(). > > Reviewed-by: Ryo Munakata <[email protected]> > > Thanks. Nice, pushed. Thanks, pq _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
