Fix misusing of strncat 01/139601/2
authorSangyoon Jang <jeremy.jang@samsung.com>
Wed, 19 Jul 2017 11:49:14 +0000 (20:49 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Wed, 19 Jul 2017 12:22:20 +0000 (21:22 +0900)
Change-Id: Ide549ba856ca38c9a8a9016d7e4fefef50f53f21
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/request.c

index fe31de8..f68a4e2 100644 (file)
@@ -290,7 +290,6 @@ static int __handle_request_install(uid_t caller_uid,
        GVariant *value;
        int i = 0;
        int len = 0;
-       size_t s = 0;
 
        g_variant_get(parameters, "(u&s&s@as)", &target_uid, &arg_pkgtype,
                        &pkgpath, &value);
@@ -309,12 +308,9 @@ static int __handle_request_install(uid_t caller_uid,
        }
 
        for (i = 0; i < args_count; i++) {
-               strncat(args, tmp_args[i], len - s - 1);
-               s += strlen(tmp_args[i]);
-               if (i != args_count - 1) {
-                       strncat(args, " ", len - s - 1);
-                       s += strlen(" ");
-               }
+               strncat(args, tmp_args[i], len - strlen(args) - 1);
+               if (i != args_count - 1)
+                       strncat(args, " ", len - strlen(args) - 1);
        }
 
        if (target_uid == (uid_t)-1 || pkgpath == NULL) {
@@ -384,7 +380,6 @@ static int __handle_request_mount_install(uid_t caller_uid,
        GVariant *value;
        int i = 0;
        int len = 0;
-       size_t s = 0;
 
        g_variant_get(parameters, "(u&s&s@as)", &target_uid, &arg_pkgtype,
                        &pkgpath, &value);
@@ -403,12 +398,9 @@ static int __handle_request_mount_install(uid_t caller_uid,
        }
 
        for (i = 0; i < args_count; i++) {
-               strncat(args, tmp_args[i], len - s - 1);
-               s += strlen(tmp_args[i]);
-               if (i != args_count - 1) {
-                       strncat(args, " ", len - s - 1);
-                       s += strlen(" ");
-               }
+               strncat(args, tmp_args[i], len - strlen(args) - 1);
+               if (i != args_count - 1)
+                       strncat(args, " ", len - strlen(args) - 1);
        }
 
        if (target_uid == (uid_t)-1 || pkgpath == NULL) {