use strncpy, strncat instead of snprintf for getenv 44/154444/1
authorBoram Park <boram1288.park@samsung.com>
Tue, 10 Oct 2017 08:12:26 +0000 (17:12 +0900)
committerBoram Park <boram1288.park@samsung.com>
Tue, 10 Oct 2017 08:12:26 +0000 (17:12 +0900)
Change-Id: Ia83f826590de742b5469163e9c38bdc51deff372

src/tdm.c
src/tdm_server.c

index d942f3a..5db2923 100644 (file)
--- a/src/tdm.c
+++ b/src/tdm.c
@@ -846,18 +846,15 @@ _tdm_display_load_module(tdm_private_display *private_display)
        const char *module_name;
        char module[TDM_NAME_LEN];
        struct dirent **namelist;
-       int n, size;
+       int n;
        tdm_error ret = 0;
 
        module_name = getenv("TDM_MODULE");
        if (!module_name)
                module_name = TDM_DEFAULT_MODULE;
 
-       size = snprintf(module, sizeof(module), "%s", module_name);
-       if (size >= (int)sizeof(module)) {
-               TDM_ERR("too long: %s", module_name);
-               return TDM_ERROR_OPERATION_FAILED;
-       };
+       strncpy(module, module_name, TDM_NAME_LEN - 1);
+       module[TDM_NAME_LEN - 1] = '\0';
 
        /* load bufmgr priv from default lib */
        ret = _tdm_display_load_module_with_file(private_display, (const char*)module);
index 5d7159a..3ade1e5 100644 (file)
@@ -791,8 +791,7 @@ static void
 _tdm_socket_init(tdm_private_loop *private_loop)
 {
        const char *dir = NULL;
-       char socket_path[128];
-       int size;
+       char socket_path[TDM_NAME_LEN * 2];
        int ret = -1;
        uid_t uid;
        gid_t gid;
@@ -803,11 +802,11 @@ _tdm_socket_init(tdm_private_loop *private_loop)
                return;
        }
 
-       size = snprintf(socket_path, sizeof(socket_path), "%s/%s", dir, "tdm-socket");
-       if (size >= (int)sizeof(socket_path)) {
-               TDM_WRN("too long: %s/tdm-socket", dir);
-               return;
-       };
+       strncpy(socket_path, dir, TDM_NAME_LEN - 1);
+       socket_path[TDM_NAME_LEN - 1] = '\0';
+
+       strncat(socket_path, "/tdm-socket", 11);
+       socket_path[TDM_NAME_LEN + 10] = '\0';
 
        ret = chmod(socket_path, 509);
        if (ret < 0) {