edje_calc: adding null pointer exception to avoid crash
authorSeungwan woo <s-w.woo@samsung.com>
Wed, 8 Apr 2020 05:00:46 +0000 (14:00 +0900)
committerHosang Kim <hosang12.kim@samsung.com>
Thu, 16 Apr 2020 03:58:14 +0000 (12:58 +0900)
Change-Id: I917e5f392b4382775ed9939063a210f4553ca36d
Signed-off-by: Seungwan woo <s-w.woo@samsung.com>
src/lib/edje/edje_calc.c

index 64238ce..ac2ee82 100644 (file)
@@ -886,6 +886,13 @@ _edje_recalc_table_parts(Edje *ed
    for (i = 0; i < ed->table_parts_size; i++)
      {
         ep = ed->table_parts[i];
+        //TIZEN_ONLY(20200408): Add null check for ACAT, TCT crash
+        if (!ep)
+          {
+             ERR("%d, %d, %s", ed->table_parts_size, i, ed->group);
+             continue;
+          }
+        //
         ep->calculated = FLAG_NONE; // FIXME: this is dubious (see below)
         ep->calculating = FLAG_NONE;
 #ifdef EDJE_CALC_CACHE
@@ -900,7 +907,13 @@ _edje_recalc_table_parts(Edje *ed
    for (i = 0; i < ed->table_parts_size; i++)
      {
         ep = ed->table_parts[i];
-
+        //TIZEN_ONLY(20200408): Add null check for ACAT, TCT crash
+        if (!ep)
+          {
+             ERR("%d, %d, %s", ed->table_parts_size, i, ed->group);
+             continue;
+          }
+        //
         if (ep->calculated != FLAG_XY) // FIXME: this is always true (see for above)
           _edje_part_recalc(ed, ep, (~ep->calculated) & FLAG_XY, NULL);
      }