slider: fix memory corruption issue 31/125731/1
authorHosang Kim <hosang12.kim@samsung.com>
Tue, 18 Apr 2017 08:23:07 +0000 (17:23 +0900)
committerkim hosang <hosang12.kim@samsung.com>
Tue, 18 Apr 2017 12:44:01 +0000 (05:44 -0700)
It caused crash issues when tizen_vector tries to delete
uninitialized addresses.

@tizen_fix

Change-Id: I801471d387f84fc80cc28a67af58a93434872dc7
(cherry picked from commit 47dce7be68344698397dc61ffa4816111464ec42)

src/lib/tizen_vector.c

index b6af4cf..23a602e 100644 (file)
@@ -2121,8 +2121,8 @@ tizen_vg_progressbar_set(Elm_Progressbar *obj)
 
 typedef struct vg_slider_s
 {
-   Evas_Object *vg[7];
-   Efl_VG_Shape *shape[7];
+   Evas_Object *vg[5];
+   Efl_VG_Shape *shape[5];
    Evas_Object *obj;
    Evas_Object *popup;
    Eina_Stringshare *style;
@@ -2277,9 +2277,17 @@ tizen_vg_slider_set(Elm_Slider *obj, Evas_Object *popup)
    if (vd)
      {
         int i;
-        for(i=0; i < 7; i++)
-          if (vd->vg[i]) evas_object_del(vd->vg[i]);
-        eina_stringshare_del(vd->style);
+        for(i = 0; i < 5; i++)
+          if (vd->vg[i])
+            {
+               evas_object_del(vd->vg[i]);
+               vd->vg[i] = NULL;
+            }
+        if (vd->style)
+          {
+             eina_stringshare_del(vd->style);
+             vd->style = NULL;
+          }
      }
 
    //Apply vector ux only theme has "vector_ux" "on"