Fixed Svace from MCD: WID 144878 90/177890/1 accepted/tizen/unified/20180504.162729 submit/tizen/20180504.073801
authorsaerome.kim <saerome.kim@samsung.com>
Fri, 4 May 2018 07:17:59 +0000 (16:17 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Fri, 4 May 2018 07:17:59 +0000 (16:17 +0900)
Change-Id: I545451032e112fcab68eae50c9f2ecef3b7e7a51
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
src/util/mtp_util.c

index 74e32c0..3da8ad1 100644 (file)
@@ -345,7 +345,8 @@ static bool _util_device_external_supported_cb(int storage_id, storage_type_e ty
        //DBG("storage id: %d, path: %s", storage_id, path);
 
        if (type == STORAGE_TYPE_EXTERNAL && path != NULL) {
-               strncpy(storage_path, path, strlen(path));
+               strncpy(storage_path, path, strlen(path)+1);
+               storage_path[strlen(path)] = 0;
                //DBG("external storage path : %s", storage_path);
        }
 
@@ -360,8 +361,10 @@ void _util_get_external_path(char *external_path)
 
        if (error != STORAGE_ERROR_NONE) {
                ERR("get external storage path Fail");
-               if (external_path != NULL)
-                       strncpy(external_path, MTP_EXTERNAL_PATH_CHAR, strlen(MTP_EXTERNAL_PATH_CHAR) + 1);
+               if (external_path != NULL) {
+                       strncpy(external_path, MTP_EXTERNAL_PATH_CHAR, sizeof(MTP_EXTERNAL_PATH_CHAR));
+                       external_path[sizeof(MTP_EXTERNAL_PATH_CHAR) - 1] = 0;
+               }
        }
 }
 
@@ -447,14 +450,16 @@ void _util_get_internal_path(char *internal_path)
 
        if (active_name == NULL) {
                ERR("active_name is NULL");
-               strncpy(internal_path, MTP_USER_DIRECTORY, strlen(MTP_USER_DIRECTORY) + 1);
+               strncpy(internal_path, MTP_USER_DIRECTORY, sizeof(MTP_USER_DIRECTORY));
+               internal_path[sizeof(MTP_USER_DIRECTORY) - 1] = 0;
                return;
        }
 
        if (internal_path != NULL) {
-               strncpy(internal_path, MTP_INTERNAL_PATH_CHAR, strlen(MTP_INTERNAL_PATH_CHAR) + 1);
+               strncpy(internal_path, MTP_INTERNAL_PATH_CHAR, sizeof(MTP_INTERNAL_PATH_CHAR));
                strncat(internal_path, active_name, strlen(active_name) + 1);
                strncat(internal_path, "/media", 7);
+               internal_path[strlen(internal_path)] = 0;
        }
 
        ERR("internal path is %s", internal_path);