#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"
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);
/*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) {
/*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) {
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 !");
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++) {