From 380484c789dbde267998e7bc5211cf8311f643fe Mon Sep 17 00:00:00 2001 From: barbieri Date: Fri, 27 May 2011 18:53:27 +0000 Subject: [PATCH] let ecore_evas_ecore_evas_get() be safer. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@59759 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore_evas/ecore_evas.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c index 9779f65..1bb844f 100644 --- a/src/lib/ecore_evas/ecore_evas.c +++ b/src/lib/ecore_evas/ecore_evas.c @@ -832,12 +832,19 @@ ecore_evas_engine_name_get(const Ecore_Evas *ee) * Return the Ecore_Evas for this Evas * * @param e The Evas to get the Ecore_Evas from - * @return The Ecore_Evas that holds this Evas + * @return The Ecore_Evas that holds this Evas, or NULL if not hold by one. */ EAPI Ecore_Evas * ecore_evas_ecore_evas_get(const Evas *e) { - return evas_data_attach_get(e); + Ecore_Evas *ee = evas_data_attach_get(e); + if (!ee) return NULL; + if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS)) + { + ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS, "ecore_evas_ecore_evas_get"); + return NULL; + } + return ee; } /** -- 2.7.4