edje: Fix memory leak by freeing the filter data.
authorSubhransu Mohanty <smohantty@gmail.com>
Wed, 27 May 2020 03:31:35 +0000 (12:31 +0900)
committerJongmin Lee <jm105.lee@samsung.com>
Thu, 28 May 2020 01:14:43 +0000 (10:14 +0900)
Reviewers: Hermet, CHAN

Reviewed By: CHAN

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11879

src/lib/edje/edje_load.c

index 8a46da0..6d188ed 100644 (file)
@@ -2230,6 +2230,23 @@ _edje_file_free(Edje_File *edf)
      }
 #endif
    //
+
+   if (edf->filter_dir)
+     {
+        int i;
+
+        if (edf->free_strings)
+          {
+             for (i = 0; i < edf->filter_dir->filters_count; ++i)
+               {
+                  eina_stringshare_del(edf->filter_dir->filters[i].name);
+                  eina_stringshare_del(edf->filter_dir->filters[i].script);
+               }
+          }
+        free(edf->filter_dir->filters);
+        free(edf->filter_dir);
+     } 
+
    if (edf->mo_dir)
      {
         unsigned int i;