change strncpy to g_strlcpy 66/126766/1 accepted/tizen/unified/20170426.061707 submit/tizen/20170425.065515
authorHaejeong Kim <backto.kim@samsung.com>
Tue, 25 Apr 2017 05:15:35 +0000 (14:15 +0900)
committerHaejeong Kim <backto.kim@samsung.com>
Tue, 25 Apr 2017 05:15:35 +0000 (14:15 +0900)
Change-Id: Ie53b67f8d98a3b94674cffdfcddf18dbd0e47ebb

include/media_controller_private.h
packaging/capi-media-controller.spec
src/media_controller_ipc.c
svc/media_controller_db_util.c
svc/media_controller_socket.c

index a6e97f82ac75a416b4459570c3b0a4c33a3238ae..d28007df39c5e994150987cab23fe3100db9df46 100755 (executable)
@@ -89,6 +89,8 @@ extern "C" {
 
 #define MC_SAFE_FREE(src)                      { if (src) {free(src); src = NULL; } }
 #define MC_SAFE_G_FREE(src)                    { if (src) {g_free(src); src = NULL; } }
+#define MC_SAFE_STRLCPY(dst, src, n)   g_strlcpy(dst, src, n);
+
 #define MC_STRING_VALID(str)                           ((str != NULL && strlen(str) > 0) ? TRUE : FALSE)
 #define MC_STRING_DELIMITER                    "VAL_SEP"
 
index 20159cdac8ca7750bb81348e35f53d1db6bf073e..c549e4eca696592819c4ccbd81cb501d2f12af8f 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       capi-media-controller
 Summary:    A media controller library in Tizen Native API
-Version:    0.1.36
+Version:    0.1.37
 Release:    1
 Group:      Multimedia/API
 License:    Apache-2.0
index 356098ee2aa3dfa988c85ad90af4fa59cfa6cfa8..b8f0fc6c9a26301caffe7f776f95714d2e439538 100755 (executable)
@@ -317,7 +317,7 @@ int mc_ipc_send_message_to_server(mc_msg_type_e msg_type, const int type, const
        send_msg.pid = getpid();
        send_msg.uid = getuid();
        send_msg.msg_size = request_msg_size;
-       strncpy(send_msg.msg, request_msg, sizeof(send_msg.msg) - 1);
+       MC_SAFE_STRLCPY(send_msg.msg, request_msg, sizeof(send_msg.msg));
 
        /*Create Socket*/
        ret = mc_ipc_create_client_socket(MC_TIMEOUT_SEC_5, &sock_info);
@@ -327,7 +327,7 @@ int mc_ipc_send_message_to_server(mc_msg_type_e msg_type, const int type, const
        /*Set server Address*/
        memset(&serv_addr, 0, sizeof(serv_addr));
        serv_addr.sun_family = AF_UNIX;
-       strncpy(serv_addr.sun_path, MC_IPC_PATH, sizeof(serv_addr.sun_path) - 1);
+       MC_SAFE_STRLCPY(serv_addr.sun_path, MC_IPC_PATH, sizeof(serv_addr.sun_path));
 
        /* Connecting to the media db server */
        if (connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) {
@@ -410,7 +410,7 @@ int mc_ipc_service_connect(const int type)
        /*Set server Address*/
        memset(&serv_addr, 0, sizeof(serv_addr));
        serv_addr.sun_family = AF_UNIX;
-       strncpy(serv_addr.sun_path, MC_SOCK_ACTIVATION_PATH, sizeof(serv_addr.sun_path) - 1);
+       MC_SAFE_STRLCPY(serv_addr.sun_path, MC_SOCK_ACTIVATION_PATH, sizeof(serv_addr.sun_path));
 
        /* Connecting to the media controller service */
        if (connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) {
index c158582978baa7e28aa16b64957d656ffa984637..a621ea44d3f65af43703a2c3794b9fdae72fa427 100755 (executable)
@@ -132,7 +132,7 @@ static char* __mc_get_db_name(uid_t uid)
 
        memset(result_psswd, 0, sizeof(result_psswd));
        if (uid == getuid()) {
-               strncpy(result_psswd, MC_DB_NAME, sizeof(result_psswd));
+               MC_SAFE_STRLCPY(result_psswd, MC_DB_NAME, sizeof(result_psswd));
                grpinfo = getgrnam("users");
                if (grpinfo == NULL) {
                        mc_error("getgrnam(users) returns NULL !");
index a2bfde97c911318365c21702b381d8b1baad6145..6e76b54963a890b971163955c027080f39f0410d 100755 (executable)
@@ -86,7 +86,7 @@ int mc_ipc_create_server_socket(mc_msg_port_type_e port, int *sock_fd)
 
        serv_addr.sun_family = AF_UNIX;
        unlink(MC_IPC_PATH);
-       strncpy(serv_addr.sun_path, MC_IPC_PATH, sizeof(serv_addr.sun_path) - 1);
+       MC_SAFE_STRLCPY(serv_addr.sun_path, MC_IPC_PATH, sizeof(serv_addr.sun_path));
 
        /* Bind to the local address */
        for (i = 0; i < 20; i++) {