Datetime: Prevent null pointer reference. 55/144855/2
authorWoochan Lee <wc0917.lee@samsung.com>
Fri, 18 Aug 2017 07:02:49 +0000 (16:02 +0900)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Fri, 18 Aug 2017 07:26:36 +0000 (07:26 +0000)
When _elm_datetime_items_get() calling with only time format after datetime creation.
The location has been swapped. so some of sorted_field index address gets a invalid
address. then it makes a crash.

@tizen_fix

Change-Id: I8e073237793d6af46a726be6cd51827f14c15661

src/lib/elm_datetime.c

index be9103a..ea31054 100644 (file)
@@ -483,7 +483,10 @@ _datetime_items_get(const Evas_Object *obj)
    Eina_List *items = NULL;
    Datetime_Field *field;
    unsigned int idx;
-   Datetime_Field *sorted_fields[ELM_DATETIME_TYPE_COUNT];
+   //TIZEN_ONLY(20170818): Prevent Null pointer ref.
+   Datetime_Field *sorted_fields[ELM_DATETIME_TYPE_COUNT] = {0};
+   //Datetime_Field *sorted_fields[ELM_DATETIME_TYPE_COUNT];
+   //
 
    ELM_DATETIME_DATA_GET(obj, sd);
 
@@ -496,6 +499,9 @@ _datetime_items_get(const Evas_Object *obj)
    for (idx = 0; idx < ELM_DATETIME_TYPE_COUNT; idx++)
      {
         field = sorted_fields[idx];
+        //TIZEN_ONLY(20170818): Prevent Null pointer ref.
+        if (!field) continue;
+        //
         if (field->fmt_exist && field->visible)
           items = eina_list_append(items, field->item_obj);
      }