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

-- 


Reply via email to