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
This commit is contained in:
Marcel Hollerbach 2020-04-03 17:20:34 +02:00
parent 5565e90479
commit 13d52be7e6
2 changed files with 3 additions and 0 deletions

View File

@ -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;
}

View File

@ -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