static int __check_privilege(const char* uid, const char * privilege)
{
FILE *fp = NULL;
- char smack_label[1024] = "/proc/self/attr/current";
+ char label_path[1024] = "/proc/self/attr/current";
+ char smack_label[1024] = {'\0',};
if (!p_cynara) {
return false;
}
- fp = fopen(smack_label, "r");
+ fp = fopen(label_path, "r");
if (fp != NULL) {
if (fread(smack_label, 1, sizeof(smack_label), fp) <= 0)
SLOG(LOG_ERROR, TAG_STTC, "[ERROR] fail to fread");
char *session = cynara_session_from_pid(pid);
int ret = cynara_check(p_cynara, smack_label, session, uid, privilege);
SLOG(LOG_DEBUG, TAG_STTC, "[Client]cynara_check returned %d(%s)", ret, (CYNARA_API_ACCESS_ALLOWED == ret) ? "Allowed" : "Denied");
- if (session)
- free(session);
+ if (session) {
+ free(session);
+ session = NULL;
+ }
if (ret != CYNARA_API_ACCESS_ALLOWED)
return false;
SLOG(LOG_ERROR, TAG_STTC, "[ERROR] Permission is denied");
return STT_ERROR_PERMISSION_DENIED;
} else if (-1 == g_privilege_allowed) {
- if (false == __check_privilege_initialize()){
+ if (false == __check_privilege_initialize()) {
SLOG(LOG_ERROR, TAG_STTC, "[ERROR] privilege initialize is failed");
return STT_ERROR_PERMISSION_DENIED;
}
if (NULL != client->engine_changed_cb) {
client->engine_changed_cb(stt, engine_id, language, support_silence, need_credential, client->engine_changed_user_data);
} else {
- SLOG(LOG_WARN, TAG_STTC, "No registered callback function of supported languages");
+ SLOG(LOG_WARN, TAG_STTC, "No registered callback function for engine change");
}
return;
}
return STT_ERROR_INVALID_STATE;
}
+ if (NULL != client->credential) {
+ free(client->credential);
+ client->credential = NULL;
+ }
client->credential = strdup(credential);
SLOG(LOG_DEBUG, TAG_STTC, "=====");
}
g_connect_timer = NULL;
- SLOG(LOG_DEBUG, TAG_STTC, "===== Connect daemon");
+ SLOG(LOG_DEBUG, TAG_STTC, "===== Connect stt-service");
/* request initialization */
bool silence_supported = false;
SLOG(LOG_ERROR, TAG_STTC, "[WARNING] Fail to connection. Retry to connect");
return EINA_TRUE;
} else {
- /* success to connect stt-daemon */
+ /* success to connect stt-service */
client->silence_supported = silence_supported;
client->credential_needed = credential_needed;
SLOG(LOG_DEBUG, TAG_STTC, "Supported options : silence(%s), credential(%s)", silence_supported ? "support" : "no support", credential_needed ? "need" : "no need");