add null check for opendir
authorWooHyun Jung <wh0705.jung@samsung.com>
Thu, 2 Jul 2015 12:24:55 +0000 (21:24 +0900)
committerYoungbok Shin <youngb.shin@samsung.com>
Wed, 26 Aug 2015 12:16:39 +0000 (21:16 +0900)
Change-Id: I75a648b03f54ceb9ef25b09da96fb63ce0cb3182

pkgmgr_font/src/font_service_register.c

index 4de31df..9c45c3c 100755 (executable)
@@ -758,36 +758,40 @@ int COMMON_PKGMGR_PLUGIN_UNINSTALL(const char *pkgid, const char *appid, GList *
                                                chmod (ELM_PROFILE_CFG, 0777);
                                        }
 
-                                       DIR *d;
+                                       DIR *d = NULL;
                                        struct dirent *e;
 
-                                       d = opendir (elm_profile_path);
+                                       if (elm_profile_path)
+                                               d = opendir (elm_profile_path);
 
-                                       while ((e = readdir (d)))
+                                       if (d)
                                        {
-                                               if (e->d_name[0] != '.' &&  (strstr(e->d_name, ".cfg") != 0 || strstr(e->d_name, ".CFG") != 0))
+                                               while ((e = readdir (d)))
                                                {
-                                                       char file_full_path[100];
+                                                       if (e->d_name[0] != '.' &&  (strstr(e->d_name, ".cfg") != 0 || strstr(e->d_name, ".CFG") != 0))
+                                                       {
+                                                               char file_full_path[100];
 
-                                                       sprintf(file_full_path, "%s/%s", elm_profile_path, e->d_name);
+                                                               sprintf(file_full_path, "%s/%s", elm_profile_path, e->d_name);
 
-                                                       ret = chown(file_full_path, APP_OWNER_ID, APP_GROUP_ID);
-                                                       if (ret < 0)
-                                                       {
-                                                               DEBUG_LOG("chown is failed %s", file_full_path);
-                                                               chmod (file_full_path, 0777);
-                                                       }
+                                                               ret = chown(file_full_path, APP_OWNER_ID, APP_GROUP_ID);
+                                                               if (ret < 0)
+                                                               {
+                                                                       DEBUG_LOG("chown is failed %s", file_full_path);
+                                                                       chmod (file_full_path, 0777);
+                                                               }
 
-                                                       ret = lsetxattr(file_full_path, "security.SMACK64", "system::homedir", 15, 0);
-                                                       if (ret < 0)
-                                                       {
-                                                               DEBUG_LOG("chsmack is failed %s", file_full_path);
-                                                               chmod (file_full_path, 0777);
+                                                               ret = lsetxattr(file_full_path, "security.SMACK64", "system::homedir", 15, 0);
+                                                               if (ret < 0)
+                                                               {
+                                                                       DEBUG_LOG("chsmack is failed %s", file_full_path);
+                                                                       chmod (file_full_path, 0777);
+                                                               }
                                                        }
                                                }
-                                       }
 
-                                       closedir (d);
+                                               closedir (d);
+                                       }
 
                                        free(default_font_name);
                                        free(elm_profile_path);