diff options
author | Suyeon Hwang <stom.hwang@samsung.com> | 2017-07-27 15:26:17 +0900 |
---|---|---|
committer | Sooyeon Kim <sooyeon.kim@samsung.com> | 2017-12-14 05:35:16 +0000 |
commit | ea164970b480545d7c2798ff0e4eb9af53dea56b (patch) | |
tree | 7d5e53b84c8988bfe4c9e5823a9bd4b2f6bf978e | |
parent | 4beba74f1cb51f5a8103a5102b9c7d2fdcb395e0 (diff) | |
download | stt-tizen_3.0_tv.tar.gz stt-tizen_3.0_tv.tar.bz2 stt-tizen_3.0_tv.zip |
Fix security issuetizen_3.0_tv
Change-Id: Ia24d81e34a31a50cb01f1e69e27d3185ef9ddeed
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
(cherry picked from commit 39b6636e349a8a1e7314aeedc73c042cd4012b54)
-rw-r--r-- | server/sttd_recorder.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/server/sttd_recorder.c b/server/sttd_recorder.c index 6b19499..fc5d17d 100644 --- a/server/sttd_recorder.c +++ b/server/sttd_recorder.c @@ -560,11 +560,27 @@ int sttd_recorder_start(int uid) #ifdef BUF_SAVE_MODE g_count++; - snprintf(g_temp_file_name, sizeof(g_temp_file_name), "/tmp/stt_temp_%d_%d", getpid(), g_count); + while (1) { + snprintf(g_temp_file_name, sizeof(g_temp_file_name), "/tmp/stt_temp_%d_%d", getpid(), g_count); + ret = access(g_temp_file_name, 0); + + if (0 == ret) { + SLOG(LOG_ERROR, TAG_STTD, "[Recorder ERROR] File is already exist"); + if (0 == remove(g_temp_file_name)) { + SLOG(LOG_DEBUG, TAG_STTD, "[Recorder] Remove file"); + break; + } else { + g_count++; + } + } else { + break; + } + } + SECURE_SLOG(LOG_DEBUG, TAG_STTD, "[Recorder] Temp file name=[%s]", g_temp_file_name); /* open test file */ - g_pFile = fopen(g_temp_file_name, "wb+"); + g_pFile = fopen(g_temp_file_name, "wb+x"); if (!g_pFile) { SLOG(LOG_ERROR, TAG_STTD, "[Recorder ERROR] File not found!"); return -1; |