Fix bug reported by static analyzer 75/99475/1 accepted/tizen/common/20161129.173608 accepted/tizen/ivi/20161130.015429 accepted/tizen/mobile/20161130.015209 accepted/tizen/tv/20161130.015254 accepted/tizen/wearable/20161130.015342 submit/tizen/20161129.052917
authorJiyong Min <jiyong.min@samsung.com>
Wed, 23 Nov 2016 04:12:02 +0000 (13:12 +0900)
committerJiyong Min <jiyong.min@samsung.com>
Wed, 23 Nov 2016 04:21:37 +0000 (20:21 -0800)
 - non-terminated C string by memcpy

Change-Id: Ie7a1235aba20872373ee3257c3541b191e8bd53e
Signed-off-by: Jiyong Min <jiyong.min@samsung.com>
packaging/capi-media-controller.spec
src/media_controller_util.c

index 2f4f3ac..dcbdc05 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       capi-media-controller
 Summary:    A media controller library in Tizen Native API
-Version:    0.1.28
+Version:    0.1.29
 Release:    1
 Group:      Multimedia/API
 License:    Apache-2.0
index 55310ff..fd72fc0 100755 (executable)
@@ -30,8 +30,9 @@ static void _mc_util_check_valid_name(const char *name, char **new_name)
        memset(old_word, 0, MAX_NAME_LENGTH);
        memset(new_word, 0, MAX_NAME_LENGTH);
 
-       if (strlen(name) > MAX_NAME_LENGTH)
-               memcpy(old_word, name, MAX_NAME_LENGTH);
+       /* It should have terminated C string, old-word should be limited to MAX_NAME_LENGTH - 1 */
+       if (strlen(name) > MAX_NAME_LENGTH - 1)
+               memcpy(old_word, name, MAX_NAME_LENGTH - 1);
        else
                memcpy(old_word, name, strlen(name));