diff options
author | jiseob.jang <jiseob.jang@samsung.com> | 2015-07-13 20:52:02 +0900 |
---|---|---|
committer | jiseob.jang <jiseob.jang@samsung.com> | 2015-07-13 20:52:02 +0900 |
commit | bcac5653b20c347a7505aa58382839149aeca229 (patch) | |
tree | 3540a3505cd4bb954c7053681e0bde4a71ffbd3e | |
parent | 6b264e2273144a6ad90c03b83db528e32c63165f (diff) | |
download | account-manager-bcac5653b20c347a7505aa58382839149aeca229.tar.gz account-manager-bcac5653b20c347a7505aa58382839149aeca229.tar.bz2 account-manager-bcac5653b20c347a7505aa58382839149aeca229.zip |
change the order of returning error value.submit/tizen_tv/20150713.121023submit/tizen_mobile/20150713.120751accepted/tizen/tv/20150714.002152accepted/tizen/mobile/20150714.002132
- account_delete_from_db_by_package_name
Change-Id: Iacbb80d578954194284abde0a1012bd3edc12b55
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
-rw-r--r-- | server/src/account-server-db.c | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/server/src/account-server-db.c b/server/src/account-server-db.c index dccc8b9..7c5926e 100644 --- a/server/src/account-server-db.c +++ b/server/src/account-server-db.c @@ -3730,6 +3730,18 @@ int _account_delete_from_db_by_package_name(int pid, const char *package_name, g ACCOUNT_RETURN_VAL((package_name != NULL), {}, ACCOUNT_ERROR_INVALID_PARAMETER, ("package_name is null!")); ACCOUNT_RETURN_VAL((g_hAccountDB != NULL), {}, ACCOUNT_ERROR_DB_NOT_OPENED, ("The database isn't connected.")); + // It only needs list of ids, does not need to query sensitive info. So sending 0 + GList* account_list_temp = _account_query_account_by_package_name(getpid(), package_name, &ret); + if( _account_db_err_code() == SQLITE_PERM ){ + ACCOUNT_ERROR( "Access failed(%s)", _account_db_err_msg()); + return ACCOUNT_ERROR_PERMISSION_DENIED; + } + + if(ret != ACCOUNT_ERROR_NONE){ + _ERR("_account_query_account_by_package_name failed ret=[%d]", ret); + return ret; + } + /* Check permission of requested appid */ if(permission){ char* current_appid = NULL; @@ -3748,29 +3760,18 @@ int _account_delete_from_db_by_package_name(int pid, const char *package_name, g if(error_code != ACCOUNT_ERROR_NONE){ ACCOUNT_ERROR("No permission to delete\n"); + _account_glist_free(account_list_temp); return ACCOUNT_ERROR_PERMISSION_DENIED; } } - // It only needs list of ids, does not need to query sensitive info. So sending 0 - GList* account_list_temp = _account_query_account_by_package_name(getpid(), package_name, &ret); - if( _account_db_err_code() == SQLITE_PERM ){ - ACCOUNT_ERROR( "Access failed(%s)", _account_db_err_msg()); - return ACCOUNT_ERROR_PERMISSION_DENIED; - } - - if(ret != ACCOUNT_ERROR_NONE){ - _ERR("_account_query_account_by_package_name failed ret=[%d]", ret); - return ret; - } - - account_list_temp = g_list_first(account_list_temp); - _INFO("account_list_temp length=[%d]",g_list_length(account_list_temp)); + GList *account_list = g_list_first(account_list_temp); + _INFO("account_list_temp length=[%d]",g_list_length(account_list)); GList* iter = NULL; - for (iter = account_list_temp; iter != NULL; iter = g_list_next(iter)) + for (iter = account_list; iter != NULL; iter = g_list_next(iter)) { - _INFO("iterating account_list_temp"); + _INFO("iterating account_list"); account_s *account = NULL; _INFO("Before iter->data"); account = (account_s*)iter->data; @@ -3788,6 +3789,8 @@ int _account_delete_from_db_by_package_name(int pid, const char *package_name, g } } + _account_glist_free(account_list_temp); + /* transaction control required*/ ret_transaction = _account_begin_transaction(); |