Fix Svace issue - NONTERMINATED_STRING 48/122948/1 accepted/tizen_3.0_common accepted/tizen_3.0_ivi accepted/tizen_3.0_mobile accepted/tizen_3.0_wearable tizen_3.0 accepted/tizen/3.0/common/20170630.144205 accepted/tizen/3.0/ivi/20170630.081053 accepted/tizen/3.0/mobile/20170630.081025 accepted/tizen/3.0/wearable/20170630.081038 submit/tizen_3.0/20170627.023239
authorJeongmo Yang <jm80.yang@samsung.com>
Tue, 4 Apr 2017 02:24:09 +0000 (11:24 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Tue, 4 Apr 2017 05:10:46 +0000 (14:10 +0900)
[Version] 0.2.53
[Profile] Common
[Issue Type] Bug fix
[Dependency module] N/A

Change-Id: I5839f130a32a0d8175cd28a7d007c7ea8975851a
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/capi-media-recorder.spec
src/recorder.c

index d96877206b4d212de44b583087cdc2d572f4625e..e5a3eef4cfd7cf1aabd3561932c233f03b377368 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-recorder
 Summary:    A Recorder API
-Version:    0.2.52
+Version:    0.2.53
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index ccdfbe82bf7a1a040573c123ef62871dd2f3daaa..dd27cdd969f1cf4ecccefdd25172afdacbf26d6f 100644 (file)
@@ -1980,9 +1980,10 @@ int recorder_get_audio_level(recorder_h recorder, double *level)
 }
 
 
-int recorder_set_filename(recorder_h recorder,  const char *filename)
+int recorder_set_filename(recorder_h recorder, const char *filename)
 {
        int ret = RECORDER_ERROR_NONE;
+       size_t length = 0;
        muse_recorder_api_e api = MUSE_RECORDER_API_SET_FILENAME;
        recorder_cli_s *pc = (recorder_cli_s *)recorder;
        recorder_msg_param param;
@@ -1998,11 +1999,18 @@ int recorder_set_filename(recorder_h recorder,  const char *filename)
                return RECORDER_ERROR_INVALID_PARAMETER;
        }
 
-       LOGD("ENTER");
+       LOGD("ENTER [%s]", filename);
+
+       length = strlen(filename);
+
+       if (length >= RECORDER_FILENAME_MAX - 1) {
+               LOGE("too long file name [%d]", length);
+               return RECORDER_ERROR_INVALID_PARAMETER;
+       }
 
        if (storage_get_origin_internal_path(filename, RECORDER_FILENAME_MAX, set_filename) < 0) {
                /* Cannot convert. Use original path. */
-               strncpy(set_filename, filename, strlen(filename));
+               strncpy(set_filename, filename, length + 1);
        } else {
                /* Converted. Use converted path. */
                LOGD("Converted filename : %s -> %s", filename, set_filename);