summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>2016-07-06 20:10:05 +0200
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>2016-07-10 14:36:54 +0200
commitffc6392a91e2fcf0f465447cd4415f658347e368 (patch)
tree664874c8c9dfe343e90429557425cafea1f61aac
parent054c7020f80cb01420b3cd81fa8c92ce87247dc8 (diff)
downloadefl-ffc6392a91e2fcf0f465447cd4415f658347e368.tar.gz
ecore_wl2: Make offer destroy more secure
Check if it is NULL and NULL after each destroy call
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_dnd.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c b/src/lib/ecore_wl2/ecore_wl2_dnd.c
index 82e83becd6..827bc55b11 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);
}