diff options
Diffstat (limited to 'src/ipc/media-thumb-ipc.c')
-rwxr-xr-x | src/ipc/media-thumb-ipc.c | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/src/ipc/media-thumb-ipc.c b/src/ipc/media-thumb-ipc.c index 29ce6b1..1edde11 100755 --- a/src/ipc/media-thumb-ipc.c +++ b/src/ipc/media-thumb-ipc.c @@ -560,7 +560,7 @@ _media_thumb_request(int msg_type, const char *origin_path, char *thumb_path, in memset(&serv_addr, 0, sizeof(serv_addr)); sock = sock_info.sock_fd; serv_addr.sun_family = AF_UNIX; - strncpy(serv_addr.sun_path, THUMB_IPC_PATH, strlen(THUMB_IPC_PATH)); + SAFE_STRLCPY(serv_addr.sun_path, THUMB_IPC_PATH, sizeof(serv_addr.sun_path)); /* Connecting to the thumbnail server */ if (connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr)) < 0) { @@ -582,14 +582,7 @@ _media_thumb_request(int msg_type, const char *origin_path, char *thumb_path, in /* Set requset message */ req_msg.msg_type = msg_type; req_msg.uid = uid; - strncpy(req_msg.org_path, origin_path, sizeof(req_msg.org_path)); - req_msg.org_path[strlen(req_msg.org_path)] = '\0'; - - if (msg_type == THUMB_REQUEST_SAVE_FILE) { - strncpy(req_msg.dst_path, thumb_path, sizeof(req_msg.dst_path)); - req_msg.dst_path[strlen(req_msg.dst_path)] = '\0'; - } - + SAFE_STRLCPY(req_msg.org_path, origin_path, sizeof(req_msg.org_path)); req_msg.origin_path_size = strlen(req_msg.org_path) + 1; req_msg.dest_path_size = strlen(req_msg.dst_path) + 1; req_msg.thumb_size = 0; @@ -642,7 +635,7 @@ _media_thumb_request(int msg_type, const char *origin_path, char *thumb_path, in } if (msg_type != THUMB_REQUEST_SAVE_FILE) { - strncpy(thumb_path, recv_msg.dst_path, max_length); + SAFE_STRLCPY(thumb_path, recv_msg.dst_path, max_length); } thumb_info->origin_width = recv_msg.origin_width; @@ -782,7 +775,7 @@ int _media_thumb_send_request() memset(&serv_addr, 0, sizeof(serv_addr)); sock = sock_info.sock_fd; serv_addr.sun_family = AF_UNIX; - strncpy(serv_addr.sun_path, THUMB_IPC_PATH, strlen(THUMB_IPC_PATH)); + SAFE_STRLCPY(serv_addr.sun_path, THUMB_IPC_PATH, sizeof(serv_addr.sun_path)); GIOChannel *channel = NULL; channel = g_io_channel_unix_new(sock); @@ -827,8 +820,7 @@ int _media_thumb_send_request() req_msg.msg_type = req_manager->msg_type; req_msg.request_id = 0; req_msg.uid = req_manager->uid; - strncpy(req_msg.org_path, req_manager->path, sizeof(req_msg.org_path)); - req_msg.org_path[strlen(req_msg.org_path)] = '\0'; + SAFE_STRLCPY(req_msg.org_path, req_manager->path, sizeof(req_msg.org_path)); req_msg.dst_path[0] = '\0'; req_msg.origin_path_size = strlen(req_msg.org_path) + 1; req_msg.dest_path_size = 1; @@ -902,7 +894,7 @@ int _media_thumb_raw_data_send_request() memset(&serv_addr, 0, sizeof(serv_addr)); sock = sock_info.sock_fd; serv_addr.sun_family = AF_UNIX; - strncpy(serv_addr.sun_path, THUMB_IPC_PATH, strlen(THUMB_IPC_PATH)); + SAFE_STRLCPY(serv_addr.sun_path, THUMB_IPC_PATH, sizeof(serv_addr.sun_path)); GIOChannel *channel = NULL; channel = g_io_channel_unix_new(sock); @@ -948,8 +940,7 @@ int _media_thumb_raw_data_send_request() req_msg.thumb_height = req_manager->height; req_msg.uid = req_manager->uid; - strncpy(req_msg.org_path, req_manager->path, sizeof(req_msg.org_path)); - req_msg.org_path[strlen(req_msg.org_path)] = '\0'; + SAFE_STRLCPY(req_msg.org_path, req_manager->path, sizeof(req_msg.org_path)); req_msg.dst_path[0] = '\0'; req_msg.origin_path_size = strlen(req_msg.org_path) + 1; |