Fix memory leak in CheckPrivilegeLevel 88/79388/3
authorPiotr Ganicz <p.ganicz@samsung.com>
Mon, 11 Jul 2016 06:56:15 +0000 (08:56 +0200)
committerPiotr Ganicz <p.ganicz@samsung.com>
Tue, 12 Jul 2016 07:03:45 +0000 (09:03 +0200)
This patch fixes also typo in the function name.

Change-Id: If118e0fd8d220e0d5dbb65a88b3a8f55a8cd343b

src/wgt/step/security/step_check_extension_privileges.cc
src/wgt/step/security/step_check_extension_privileges.h

index f75c832..d2de923 100755 (executable)
@@ -65,7 +65,7 @@ common_installer::Step::Status StepCheckExtensionPrivileges::process() {
   }
 
   if (!privileges.empty()) {
-    if (!CheckPriviligeLevel(privileges)) {
+    if (!CheckPrivilegeLevel(privileges)) {
       LOG(DEBUG) << "Fail to validation of privilege";
       return Status::ERROR;
     }
@@ -103,7 +103,7 @@ std::string StepCheckExtensionPrivileges::GetExtensionPath() {
   return app_ext_config_pattern;
 }
 
-bool StepCheckExtensionPrivileges::CheckPriviligeLevel(
+bool StepCheckExtensionPrivileges::CheckPrivilegeLevel(
     std::set<std::string> priv_set) {
   GList* privileges = nullptr;
   for (auto it = priv_set.begin(); it != priv_set.end(); ++it) {
@@ -119,12 +119,13 @@ bool StepCheckExtensionPrivileges::CheckPriviligeLevel(
          context_->manifest_data.get()->api_version,
          privileges,
          &error_message)) {
+    g_list_free_full(privileges, free);
     if (!error_message.empty()) {
       LOG(ERROR) << "error_message: " << error_message;
-      return false;
     }
     return false;
   }
+  g_list_free_full(privileges, free);
   return true;
 }
 
index 0c27abc..837f564 100755 (executable)
@@ -45,7 +45,7 @@ class StepCheckExtensionPrivileges : public common_installer::Step {
   Status precheck() override;
  private:
   std::string GetExtensionPath();
-  bool CheckPriviligeLevel(std::set<std::string> priv_set);
+  bool CheckPrivilegeLevel(std::set<std::string> priv_set);
   STEP_NAME(CheckExtensionPrivileges)
 };