Fix issues detected by static analysis tool 00/149400/4
authorJihoon Kim <jihoon48.kim@samsung.com>
Tue, 12 Sep 2017 07:36:32 +0000 (16:36 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 12 Sep 2017 08:19:39 +0000 (17:19 +0900)
Passing a null pointer to internally called std::char_traits::length()

Change-Id: I5a6cc71c8364ad255d35cd83aeff3948a55cd75f
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
ism/extras/efl_panel/isf_panel_efl.cpp
ism/src/isf_pkg.cpp

index 7857d99..b14da48 100644 (file)
@@ -6342,14 +6342,14 @@ static void update_ise_locale (const char *language)
     }
     else {
         char *lang_str = vconf_get_str (VCONFKEY_LANGSET);
-        if (lang_str && _locale_string.compare(lang_str) == 0) {
-            free (lang_str);
-            return;
-        }
+        if (lang_str) {
+            if (_locale_string.compare(lang_str) == 0) {
+                free (lang_str);
+                return;
+            }
 
-        strLang = String (lang_str);
+            strLang = String (lang_str);
 
-        if (lang_str) {
             free (lang_str);
         }
     }
index 13cfc6d..7aca3a8 100644 (file)
@@ -160,16 +160,19 @@ int isf_pkg_ime_app_list_cb (const pkgmgrinfo_appinfo_h handle, void *user_data)
 
             ime_db.module_name = ime_db.pkgid;
 
-            String module_path = String (path) + String ("/lib");
-            String fullpath = module_path + String (SCIM_PATH_DELIM_STRING) + ime_db.module_name + String (".so");
-            struct stat st;
-            if (stat (fullpath.c_str (), &st) < 0) {
-                /* Not found in lib directory of package's root path */
-                ime_db.module_path = String (SCIM_MODULE_PATH) + String (SCIM_PATH_DELIM_STRING) + String (SCIM_BINARY_VERSION)
-                    + String (SCIM_PATH_DELIM_STRING) + String ("Helper");
-            }
-            else {
-                ime_db.module_path = module_path;
+            if (path)
+            {
+                String module_path = String (path) + String ("/lib");
+                String fullpath = module_path + String (SCIM_PATH_DELIM_STRING) + ime_db.module_name + String (".so");
+                struct stat st;
+                if (stat (fullpath.c_str (), &st) < 0) {
+                    /* Not found in lib directory of package's root path */
+                    ime_db.module_path = String (SCIM_MODULE_PATH) + String (SCIM_PATH_DELIM_STRING) + String (SCIM_BINARY_VERSION)
+                        + String (SCIM_PATH_DELIM_STRING) + String ("Helper");
+                }
+                else {
+                    ime_db.module_path = module_path;
+                }
             }
 
             ime_db.is_enabled = 1;