diff --git a/legacy/evas/ChangeLog b/legacy/evas/ChangeLog index 4f3279d762..e78053ff87 100644 --- a/legacy/evas/ChangeLog +++ b/legacy/evas/ChangeLog @@ -899,5 +899,8 @@ 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/legacy/evas/NEWS b/legacy/evas/NEWS index 4075b4c7c8..1d4e76008d 100644 --- a/legacy/evas/NEWS +++ b/legacy/evas/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. diff --git a/legacy/evas/src/lib/canvas/evas_object_smart.c b/legacy/evas/src/lib/canvas/evas_object_smart.c index 65c7ecaf8b..431edd200e 100644 --- a/legacy/evas/src/lib/canvas/evas_object_smart.c +++ b/legacy/evas/src/lib/canvas/evas_object_smart.c @@ -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;