diff options
author | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2020-04-03 17:20:34 +0200 |
---|---|---|
committer | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2020-04-06 09:05:05 +0200 |
commit | 13d52be7e6a2a7f761996bb850b10127378b190f (patch) | |
tree | c3194da3a8e5ffd85915987dbc995036e79cebd7 | |
parent | 5565e904795ce32ba734a3022f01753acb1dd738 (diff) | |
download | efl-13d52be7e6a2a7f761996bb850b10127378b190f.tar.gz |
ecore_evas: fix leaks in macos and win32
memory is duplicated in eina_content_new.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11641
-rw-r--r-- | src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c | 2 | ||||
-rw-r--r-- | src/modules/ecore_evas/engines/win32/ecore_evas_win32.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c index 05740c306b..51fe657f39 100644 --- a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c +++ b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c @@ -531,10 +531,12 @@ _ecore_evas_cocoa_selection_request(Ecore_Evas *ee EINA_UNUSED, unsigned int sea slice.mem = data; } content = eina_content_new(eina_rw_slice_slice_get(slice), mime_type); + free(slice.mem); //memory got duplicated in eina_content_new if (!content) // construction can fail because of some validation reasons eina_promise_reject(promise, ecore_evas_no_matching_type); else eina_promise_resolve(promise, eina_value_content_init(content)); + } return future; } diff --git a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c index 41a0fad65e..638d4e74f7 100644 --- a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c +++ b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c @@ -1307,6 +1307,7 @@ _ecore_evas_win32_selection_request(Ecore_Evas *ee EINA_UNUSED, unsigned int sea slice.mem = data; } content = eina_content_new(eina_rw_slice_slice_get(slice), mime_type); + free(slice.mem); //memory got duplicated in eina_content_new if (!content) // construction can fail because of some validation reasons eina_promise_reject(promise, ecore_evas_no_matching_type); else |