devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=351e9fa23f1389f33fc8cf12ab6ed18ee2f0b72b

commit 351e9fa23f1389f33fc8cf12ab6ed18ee2f0b72b
Author: Yeongjong Lee <[email protected]>
Date:   Wed Apr 8 10:53:17 2020 +0000

    elm_dnd: null check for safety
    
    Also, it needs to keep backward compatibility.
    
    Reviewed-by: Christopher Michael <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D11666
---
 src/lib/elementary/elm_dnd.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/lib/elementary/elm_dnd.c b/src/lib/elementary/elm_dnd.c
index 699414bb4a..bc765fdbb6 100644
--- a/src/lib/elementary/elm_dnd.c
+++ b/src/lib/elementary/elm_dnd.c
@@ -163,6 +163,7 @@ elm_drop_target_add(Evas_Object *obj, Elm_Sel_Format format,
                     Elm_Drag_Pos pos_cb, void *pos_data,
                     Elm_Drop_Cb drop_cb, void *drop_data)
 {
+   EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
 
    Elm_Drop_Target *target = calloc(1, sizeof(Elm_Drop_Target));
    target->enter_cb = enter_cb;
@@ -195,6 +196,8 @@ elm_drop_target_del(Evas_Object *obj, Elm_Sel_Format format,
    Elm_Drop_Target *target;
    Eina_List *n, *found = NULL;
 
+   EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
+
    if (!target_register)
      return EINA_TRUE;
    Eina_List *targets = eina_hash_find(target_register, &obj);
@@ -769,6 +772,12 @@ elm_drag_start(Evas_Object *obj, Elm_Sel_Format format,
    Elm_Drag_Data *dd;
    const char *str_action;
 
+   EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
+
+   //it should return EINA_TRUE to keep backward compatibility
+   if (!data)
+     return EINA_TRUE;
+
    str_action = _action_to_string(action);
    dd = calloc(1, sizeof(Elm_Drag_Data));
    dd->dragposcb = dragpos;

-- 


Reply via email to