evas: make evas_object_smart_type_check more resilient.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 22 Jul 2012 07:03:29 +0000 (07:03 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 22 Jul 2012 07:03:29 +0000 (07:03 +0000)
Issue reported by JPeg.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@74295 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

ChangeLog
NEWS
src/lib/canvas/evas_object_smart.c

index 4f3279d..e78053f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
 2012-07-19  Jiyoun Park(jypark)
 
-           * Fix jpeg save bug related with error handler
+        * Fix jpeg save bug related with error handler
 
+2012-07-22  Cedric Bail
+
+       * Don't crash when calling evas_object_smart_type_check without type.
diff --git a/NEWS b/NEWS
index 4075b4c..1d4e760 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,7 @@ Fixes:
    * Don't accept broken map.
    * Fix garbage left by mapped smart object when they fly away from the canvas.
    * Fix map life cycle.
+   * Don't crash when calling evas_object_smart_type_check without type.
 
 Removal:
    * Remove EVAS_FRAME_QUEUING, EVAS_SLI, METRIC_CACHE and WORD_CACHE.
index 65c7eca..431edd2 100644 (file)
@@ -273,6 +273,8 @@ evas_object_smart_type_check(const Evas_Object *obj, const char *type)
    return EINA_FALSE;
    MAGIC_CHECK_END();
 
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(type, EINA_FALSE);
+
    if (!obj->smart.smart)
      return EINA_FALSE;
    sc = obj->smart.smart->smart_class;
@@ -295,6 +297,8 @@ evas_object_smart_type_check_ptr(const Evas_Object *obj, const char *type)
    return EINA_FALSE;
    MAGIC_CHECK_END();
 
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(type, EINA_FALSE);
+
    if (!obj->smart.smart)
      return EINA_FALSE;
    sc = obj->smart.smart->smart_class;