Fix the PVS V522,V547,V668 55/143655/3
authorcookie <cookie@samsung.com>
Fri, 11 Aug 2017 01:35:55 +0000 (01:35 +0000)
committerjaekuk lee <juku1999@samsung.com>
Fri, 11 Aug 2017 02:57:28 +0000 (02:57 +0000)
[ Problem] There is the PVS Issue
[ Cause ]V522 There might be dereferencing of a potential null pointer 'msg'
         V547 Expression 'itemData' is always true.
         V668 There is no sense in testing the 'item_data' pointer against null
[ Soulution] fix the issue

Change-Id: I9eb8e085b00b262d216388b3dd2d5880c7813a68
Signed-off-by: cookie <cookie@samsung.com>
services/QuickAccess/QuickAccess.cpp
services/SettingsUI/SettingsAFCreator.cpp
services/SettingsUI/SettingsUI.cpp

index 7a14c9129a5b7dcd9984ae0c399d6b41625cf78b..40fe914471d2a11fc04089b626f1b1a77d65afd4 100755 (executable)
@@ -568,8 +568,7 @@ void QuickAccess::_grid_mostVisited_del(void *data, Evas_Object *)
     BROWSER_LOGD("[%s:%d]", __PRETTY_FUNCTION__, __LINE__);
     if (data) {
         auto itemData = static_cast<HistoryItemData*>(data);
-        if (itemData)
-            delete itemData;
+        delete itemData;
     }
 }
 
@@ -740,13 +739,15 @@ void QuickAccess::setButtonColor(Evas_Object* button, int r, int g, int b, int a
 {
     // setting color of inner rect
     Edje_Message_Int_Set* msg = (Edje_Message_Int_Set *) malloc(sizeof(*msg) + 3 * sizeof(int));
-    msg->count = 4;
-    msg->val[0] = r;
-    msg->val[1] = g;
-    msg->val[2] = b;
-    msg->val[3] = a;
-    edje_object_message_send(elm_layout_edje_get(button), EDJE_MESSAGE_INT_SET, 0, msg);
-    free(msg);
+    if (msg) {
+        msg->count = 4;
+        msg->val[0] = r;
+        msg->val[1] = g;
+        msg->val[2] = b;
+        msg->val[3] = a;
+        edje_object_message_send(elm_layout_edje_get(button), EDJE_MESSAGE_INT_SET, 0, msg);
+        free(msg);
+    }
 }
 
 bool QuickAccess::canBeBacked(int tabCount)
index afc980e82b7ab5b57fdba5704105e557452dc45a..c8663d55c67d0108916060974cdc16ff2c06e0ae 100755 (executable)
@@ -91,7 +91,7 @@ void SettingsAFCreator::unregisterCallbacksForEditfield(Evas_Object* editfield)
     evas_object_smart_callback_del(button, "clicked", __entry_clear_button_clicked_cb);
 }
 
-bool SettingsAFCreator::loadProfile(void)
+void SettingsAFCreator::loadProfile(void)
 {
     BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
 
@@ -108,16 +108,14 @@ bool SettingsAFCreator::loadProfile(void)
     }
 
     createNewAutoFillFormItem();
-
-    return false;
 }
 
 void SettingsAFCreator::createNewAutoFillFormItem()
 {
     BROWSER_LOGD("[%s:%d] ", __PRETTY_FUNCTION__, __LINE__);
-    if (!m_profile)
+    if (!m_profile) {
         m_item  = std::make_shared<AutoFillFormItem>(nullptr);
-    else {
+    else {
         auto item_data = new AutoFillFormItemData;
         if (!item_data) {
             BROWSER_LOGE("Malloc failed to get item_data");
index e1814b887cc22e9b205e2c86bc3f556c1909232c..876129c6c47654fcd2b7c22d7d9d8e93a51e98f5 100755 (executable)
@@ -76,11 +76,11 @@ void SettingsUI::init()
     m_edjFilePath.append("SettingsUI/SettingsMobileUI.edj");
     elm_theme_extension_add(nullptr, m_edjFilePath.c_str());
 
-    m_setting_item_class = createItemClass("type1",_gengrid_item_text_get);
-    m_setting_double_item_class = createItemClass("type1",_gengrid_item_text_get);
-    m_setting_check_on_of_item_class = createItemClass("type1",_gengrid_item_text_get, _gengrid_item_content_onoff_get);
-    m_setting_check_normal_item_class = createItemClass("type1",_gengrid_item_text_get, _gengrid_item_content_normal_get);
-    m_setting_check_radio_item_class = createItemClass("type1",_gengrid_item_text_get, _gengrid_item_content_radio_get);
+    m_setting_item_class = createItemClass("type1", _gengrid_item_text_get);
+    m_setting_double_item_class = createItemClass("type1", _gengrid_item_text_get);
+    m_setting_check_on_of_item_class = createItemClass("type1", _gengrid_item_text_get, _gengrid_item_content_onoff_get);
+    m_setting_check_normal_item_class = createItemClass("type1", _gengrid_item_text_get, _gengrid_item_content_normal_get);
+    m_setting_check_radio_item_class = createItemClass("type1", _gengrid_item_text_get, _gengrid_item_content_radio_get);
 }
 
 void SettingsUI::init(Evas_Object* parent)
@@ -192,7 +192,7 @@ void SettingsUI::orientationChanged()
         }
     } else {
         if (m_items_layout) {
-            elm_object_signal_emit(m_items_layout,"rotation,portrait,main", "rot");
+            elm_object_signal_emit(m_items_layout, "rotation,portrait,main", "rot");
         }
     }
 }
@@ -224,12 +224,10 @@ char* SettingsUI::_gengrid_item_text_get(void* data, Evas_Object*, const char* p
 
    if (strcmp(part, "elm.text") == 0) {
        const char* item_name = it->buttonText.c_str();
-       if (item_name)
-           return strdup(item_name);
+       return strdup(item_name);
    } else if (strcmp(part, "elm.text.sub") == 0 && !(it->subText.empty())) {
        const char* item_name = it->subText.c_str();
-       if (item_name)
-           return strdup(item_name);
+       return strdup(item_name);
    }
    return nullptr;
 }