Fix static analysis issue 15/173515/1
authorJunghyun Yeon <jungh.yeon@samsung.com>
Thu, 22 Mar 2018 06:16:24 +0000 (15:16 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Thu, 22 Mar 2018 06:16:24 +0000 (15:16 +0900)
Change-Id: Ic5dcae18ac388923ac95bb8ef72e381453cbbddb
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/common/utils/file_util.cc
src/pkg_initdb/pkg_initdb.cc

index 1f06c59..1a83886 100644 (file)
@@ -182,7 +182,8 @@ bool CopyOwnershipAndPermissions(const boost::filesystem::path& src,
   }
   bf::perms permissions = bf::status(src).permissions();
   struct stat stats;
-  stat(src.c_str(), &stats);
+  if (stat(src.c_str(), &stats) != 0)
+    return false;
   if (!SetDirOwnershipAndPermissions(dst, permissions, stats.st_uid,
                                     stats.st_gid)) {
     LOG(ERROR) << "Failed to copy ownership and permissions"
index 0e4fddf..5697a2a 100644 (file)
@@ -97,6 +97,8 @@ void RemoveOldDatabases(uid_t uid) {
   char *cert_db = getUserPkgCertDBPathUID(uid);
   if (parser_db == nullptr || cert_db == nullptr) {
     std::cerr << "Failed to get db path, cannot remove old databases";
+    free(parser_db);
+    free(cert_db);
     return;
   }
   std::string journal = "-journal";