From b76a4f8e94e9ffba88efce42219f53daa98a3f8d Mon Sep 17 00:00:00 2001 From: cedric Date: Sun, 22 Jul 2012 07:03:29 +0000 Subject: [PATCH] evas: make evas_object_smart_type_check more resilient. Issue reported by JPeg. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@74295 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- ChangeLog | 5 ++++- NEWS | 1 + src/lib/canvas/evas_object_smart.c | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 4f3279d..e78053f 100644 --- a/ChangeLog +++ b/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/NEWS b/NEWS index 4075b4c..1d4e760 100644 --- 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. diff --git a/src/lib/canvas/evas_object_smart.c b/src/lib/canvas/evas_object_smart.c index 65c7eca..431edd2 100644 --- a/src/lib/canvas/evas_object_smart.c +++ b/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; -- 2.7.4