efl_ui_widget_factory: Fix resource leaks
authorChris Michael <cp.michael@samsung.com>
Tue, 17 Sep 2019 13:21:15 +0000 (09:21 -0400)
committerJongmin Lee <jm105.lee@samsung.com>
Tue, 17 Sep 2019 21:11:06 +0000 (06:11 +0900)
Small patch to fix resource leaks pointed out by Coverity

Fixes Coverity CID1404766

src/lib/elementary/efl_ui_widget_factory.c

index 0579dc4..c9d5759 100644 (file)
@@ -186,7 +186,11 @@ _efl_ui_widget_factory_efl_ui_factory_create(Eo *obj, Efl_Ui_Widget_Factory_Data
    r->factory = efl_ref(obj);
 
    f = calloc(count + 1, sizeof (Eina_Future *));
-   if (!f) return efl_loop_future_rejected(obj, ENOMEM);
+   if (!f)
+     {
+        free(r);
+        return efl_loop_future_rejected(obj, ENOMEM);
+     }
 
    EINA_ITERATOR_FOREACH(models, model)
      {
@@ -195,7 +199,11 @@ _efl_ui_widget_factory_efl_ui_factory_create(Eo *obj, Efl_Ui_Widget_Factory_Data
                                      .free = _efl_ui_widget_factory_single_cleanup);
 
         f = realloc(f, (count + 1) * sizeof (Eina_Future *));
-        if (!f) return efl_loop_future_rejected(obj, ENOMEM);
+        if (!f)
+          {
+             free(r);
+             return efl_loop_future_rejected(obj, ENOMEM);
+          }
      }
    eina_iterator_free(models);