diff options
author | duerpei <duep.fnst@fujitsu.com> | 2022-03-15 10:26:03 +0800 |
---|---|---|
committer | duerpei <duep.fnst@fujitsu.com> | 2022-03-15 10:26:03 +0800 |
commit | 70d8d26d8ed27f25689bf75bdb3da320d418c38a (patch) | |
tree | 18fe490de15f4e805cb2df5427cb601f1e8963bc | |
parent | cec4cf8fe409cae5618e81e4a3b6dd11cc8b2aa9 (diff) |
Fix potential memory leak in agl-compositor
wet_main->parse_options-> .... ->strdup ->malloc
"config_file" memory is not released
"log"memory is not released
When agl-compositor startup parameters contain socket and modules,
the memory of socket_name and option_modules also needs to be released.
So these two pointers are also released.
Bug-AGL: SPEC-4270
Signed-off-by: duerpei <duep.fnst@fujitsu.com>
Change-Id: I0d74b92187a0779610f32e75b33ab4fca10329a5
-rw-r--r-- | src/compositor.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/compositor.c b/src/compositor.c index fd5f5a6..d335c60 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -1645,13 +1645,14 @@ int wet_main(int argc, char *argv[]) if (version) { printf(PACKAGE_STRING "\n"); - return EXIT_SUCCESS; + ret = EXIT_SUCCESS; + goto exit_signals; } log_ctx = weston_log_ctx_compositor_create(); if (!log_ctx) { fprintf(stderr, "Failed to initialize weston debug framework.\n"); - return ret; + goto exit_signals; } log_scope = weston_compositor_add_log_scope(log_ctx, "log", @@ -1796,5 +1797,10 @@ error_signals: if (ivi.config) weston_config_destroy(ivi.config); +exit_signals: + free(log); + free(config_file); + free(socket_name); + free(option_modules); return ret; } |