jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=552831386a9553dc49185db30a56fbe93bbcd127

commit 552831386a9553dc49185db30a56fbe93bbcd127
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Mon Dec 5 10:43:38 2016 +0900

    eo: Fix potential inifinite loop
    
    I saw a little oopsie in patch fc48161910fc013674f4af9e19. This
    amends it to avoid a potential infinite loop.
---
 src/lib/eo/eo.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index 37c2a4c..e8e6a12 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -1341,18 +1341,18 @@ efl_class_new(const Efl_Class_Description *desc, const 
Efl_Class *parent_id, ...
         while (extn_id)
           {
              extn = _eo_class_pointer_get((Efl_Class *)extn_id, __FUNCTION__, 
__FILE__, __LINE__);
-             if (!extn) /* did not validate */
-               continue;
-             switch (extn->desc->type)
+             if (EINA_LIKELY(extn != NULL))
                {
-                case EFL_CLASS_TYPE_REGULAR_NO_INSTANT:
-                case EFL_CLASS_TYPE_REGULAR:
-                case EFL_CLASS_TYPE_INTERFACE:
-                case EFL_CLASS_TYPE_MIXIN:
-                   extn_list = eina_list_append(extn_list, extn);
-                   break;
+                  switch (extn->desc->type)
+                    {
+                     case EFL_CLASS_TYPE_REGULAR_NO_INSTANT:
+                     case EFL_CLASS_TYPE_REGULAR:
+                     case EFL_CLASS_TYPE_INTERFACE:
+                     case EFL_CLASS_TYPE_MIXIN:
+                       extn_list = eina_list_append(extn_list, extn);
+                       break;
+                    }
                }
-
              extn_id = va_arg(p_list, Eo_Id *);
           }
 

-- 


Reply via email to