MSAPI_RETVM_IF(ret != 0, MS_MEDIA_ERR_INTERNAL, "[CYNARA]Failed to get uid");
ret = cynara_creds_socket_get_client(sockfd, CLIENT_METHOD_SMACK, &(credentials->smack));
- MSAPI_RETVM_IF(ret != 0, MS_MEDIA_ERR_INTERNAL, "[CYNARA]Failed to get smack");
+ if (ret != 0) {
+ MSAPI_DBG_ERR("[CYNARA]Failed to get smack");
+ MS_SAFE_FREE(credentials->uid);
+
+ return MS_MEDIA_ERR_INTERNAL;
+ }
// MSAPI_DBG_ERR("cynara_creds_info : P[%d]U[%s]S[%s]", credentials->pid, credentials->uid, credentials->smack);
if (strncmp(recv_msg.msg, MEDIA_ROOT_PATH_EXTERNAL, strlen(MEDIA_ROOT_PATH_EXTERNAL)) == 0) {
if (ms_cynara_check(&creds, EXTERNAL_STORAGE_PRIVILEGE) != MS_MEDIA_ERR_NONE) {
res = ret;
+ MS_SAFE_FREE(creds.smack);
+ MS_SAFE_FREE(creds.uid);
goto ERROR;
}
} else {
if (ms_cynara_check(&creds, MEDIA_STORAGE_PRIVILEGE) != MS_MEDIA_ERR_NONE) {
res = ret;
+ MS_SAFE_FREE(creds.smack);
+ MS_SAFE_FREE(creds.uid);
goto ERROR;
}
}
return TRUE;
ERROR:
{
- MS_SAFE_FREE(creds.smack);
- MS_SAFE_FREE(creds.uid);
-
ms_comm_msg_s res_msg;
memset(&res_msg, 0x0, sizeof(ms_comm_msg_s));
if (ms_cynara_check(&creds, CONTENT_WRITE_PRIVILEGE) != MS_MEDIA_ERR_NONE) {
MS_DBG_ERR("Permission denied");
+ MS_SAFE_FREE(creds.smack);
+ MS_SAFE_FREE(creds.uid);
send_msg = MS_MEDIA_ERR_PERMISSION_DENIED;
goto ERROR;
}