bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f0325fc190cc6df02457581f0fc7c7a05185ffed
commit f0325fc190cc6df02457581f0fc7c7a05185ffed Author: Marcel Hollerbach <marcel-hollerb...@t-online.de> Date: Wed Jul 6 20:10:05 2016 +0200 ecore_wl2: Make offer destroy more secure Check if it is NULL and NULL after each destroy call --- src/lib/ecore_wl2/ecore_wl2_dnd.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c b/src/lib/ecore_wl2/ecore_wl2_dnd.c index 82e83be..827bc55 100644 --- a/src/lib/ecore_wl2/ecore_wl2_dnd.c +++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c @@ -246,6 +246,7 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh) WL_DATA_OFFER_FINISH_SINCE_VERSION) wl_data_offer_finish(source->offer); wl_data_offer_destroy(source->offer); + source->offer = NULL; } fd = ecore_main_fd_handler_fd_get(source->fdh); @@ -487,7 +488,11 @@ _ecore_wl2_dnd_del(Ecore_Wl2_Dnd_Source *source) close(ecore_main_fd_handler_fd_get(source->fdh)); ecore_main_fd_handler_del(source->fdh); } - wl_data_offer_destroy(source->offer); + if (source->offer) + { + wl_data_offer_destroy(source->offer); + source->offer = NULL; + } wl_array_release(&source->types); free(source); } --