Remove string valid functions 11/307211/2
authorminje.ahn <minje.ahn@samsung.com>
Wed, 6 Mar 2024 05:20:29 +0000 (14:20 +0900)
committerminje.ahn <minje.ahn@samsung.com>
Wed, 6 Mar 2024 06:23:59 +0000 (15:23 +0900)
Change-Id: I7c64d4b9239bb168ca8a03698716e4e03aac0e4c
Signed-off-by: minje.ahn <minje.ahn@samsung.com>
lib/include/media-util-ipc.h
lib/include/media-util.h
lib/media-util-cynara.c
lib/media-util-db.c
lib/media-util-ipc.c
lib/media-util-register.c
lib/media-util-user.c
src/common/include/media-common-db-svc.h

index e5ecd2b..46e92c3 100644 (file)
@@ -79,7 +79,6 @@ int ms_ipc_create_server_socket(ms_msg_port_type_e port, int *sock_fd);
 int ms_ipc_send_msg_to_server_tcp(int sockfd, ms_msg_port_type_e port, ms_comm_msg_s *send_msg, struct sockaddr_un *serv_addr);
 int ms_ipc_send_msg_to_client_tcp(int sockfd, ms_comm_msg_s *send_msg, struct sockaddr_un *client_addr);
 int ms_ipc_accept_client_tcp(int serv_sock, int* client_sock);
-bool ms_ipc_is_valid_msg(const char *msg);
 
 #ifdef __cplusplus
 }
index a4ff9bc..2f226ea 100644 (file)
@@ -20,7 +20,6 @@
 #ifndef _MEDIA_UTIL_H_
 #define _MEDIA_UTIL_H_
 
-#include <string.h>
 #include <media-util-err.h>
 #include <media-util-register.h>
 #include <media-util-db.h>
@@ -38,6 +37,5 @@
 #endif
 
 #define MS_SAFE_FREE(src)              { if (src) {free(src); src = NULL; } }
-#define MS_STRING_VALID(str)   (str && strlen(str) > 0)
 
 #endif /*_MEDIA_UTIL_H_*/
index f0f4c9c..4dd45f3 100644 (file)
@@ -99,7 +99,7 @@ int ms_cynara_receive_untrusted_message(int sockfd, ms_comm_msg_s *recv_msg, ms_
                return MS_MEDIA_ERR_IPC;
        }
 
-       MSAPI_RETVM_IF(!ms_ipc_is_valid_msg(recv_msg->msg), MS_MEDIA_ERR_IPC, "Invalid msg");
+       MSAPI_RETVM_IF(!strlen(recv_msg->msg) == 0 || strlen(recv_msg->msg) > MAX_MSG_SIZE, MS_MEDIA_ERR_IPC, "Invalid msg");
 
        MSAPI_DBG_SLOG("receive msg from P[%d] T[%d] M[%.*s] S[%.*s]", recv_msg->pid, recv_msg->msg_type, MAX_MSG_SIZE, recv_msg->msg, MS_UUID_SIZE, recv_msg->storage_id);
 
index 8a06018..fc3056f 100644 (file)
@@ -68,7 +68,7 @@ static void __media_db_collation_cb(void* pArg, sqlite3* handle, int charset, co
        char *lang = NULL;
        UCollator* ucol = NULL;
 
-       if (handle == NULL || !MS_STRING_VALID(name)) {
+       if (!handle || !name || strlen(name) == 0) {
                MSAPI_DBG_ERR("Input parameter is NULL");
                return;
        }
@@ -191,13 +191,16 @@ static int __media_db_request_update_tcp(ms_msg_type_e msg_type, const char *req
        struct sockaddr_un serv_addr;
        int retry_count = 0;
 
-       MSAPI_RETVM_IF(!ms_ipc_is_valid_msg(request_msg), MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid request_msg");
+       MSAPI_RETVM_IF(!request_msg || strlen(request_msg) == 0, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid request_msg");
 
-       ms_comm_msg_s send_msg;
-       memset((void *)&send_msg, 0, sizeof(ms_comm_msg_s));
+       ms_comm_msg_s send_msg = { 0, };
 
        send_msg.msg_type = msg_type;
-       g_strlcpy(send_msg.msg, request_msg, sizeof(send_msg.msg));
+       if (g_strlcpy(send_msg.msg, request_msg, sizeof(send_msg.msg)) >= MAX_MSG_SIZE) {
+               MSAPI_DBG_ERR("request_msg exceeds MAX_MSG_SIZE");
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
+       }
+
        send_msg.uid = uid;
 
        /*Create Socket*/
@@ -364,7 +367,7 @@ int media_db_request_update_db(const char *query_str, uid_t uid)
 
        MSAPI_DBG_FUNC();
 
-       MSAPI_RETVM_IF(!MS_STRING_VALID(query_str), MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid Query");
+       MSAPI_RETVM_IF(!query_str || strlen(query_str) == 0, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid Query");
 
        ret = __media_db_request_update_tcp(MS_MSG_DB_UPDATE, query_str, uid);
        if (ret != MS_MEDIA_ERR_NONE)
@@ -380,7 +383,7 @@ int media_db_update_db_direct(const char *query_str, uid_t uid)
 
        MSAPI_DBG_FUNC();
 
-       MSAPI_RETVM_IF(!MS_STRING_VALID(query_str), MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid Query");
+       MSAPI_RETVM_IF(!query_str || strlen(query_str) == 0, MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid Query");
 
        ret = media_db_connect(&handle, uid, true);
        MSAPI_RETVM_IF(ret != MS_MEDIA_ERR_NONE, ret, "Connect failed");
@@ -404,17 +407,15 @@ static int __media_db_request_recovery(uid_t uid)
 
        ret = ms_user_get_media_db_path(uid, &db_path);
        MSAPI_RETVM_IF(ret != MS_MEDIA_ERR_NONE, MS_MEDIA_ERR_INVALID_PARAMETER, "ms_user_get_media_db_path failed");
+       MSAPI_RETVM_IF(!db_path, MS_MEDIA_ERR_INVALID_PARAMETER, "db_path is NULL");
 
-       if (!ms_ipc_is_valid_msg(db_path)) {
-               g_free(db_path);
-               return MS_MEDIA_ERR_INVALID_PARAMETER;
-       }
-
-       ms_comm_msg_s send_msg;
-       memset((void *)&send_msg, 0, sizeof(ms_comm_msg_s));
+       ms_comm_msg_s send_msg = { 0, };
 
        send_msg.msg_type = MS_MSG_MEDIA_DB_MALFORMED;
-       g_strlcpy(send_msg.msg, db_path, sizeof(send_msg.msg));
+       if (g_strlcpy(send_msg.msg, db_path, sizeof(send_msg.msg)) >= MAX_MSG_SIZE) {
+               MSAPI_DBG_ERR("db_path exceeds MAX_MSG_SIZE");
+               return MS_MEDIA_ERR_INVALID_PARAMETER;
+       }
        g_free(db_path);
        send_msg.uid = uid;
 
index 27c634f..56cc5df 100644 (file)
@@ -169,15 +169,3 @@ int ms_ipc_accept_client_tcp(int serv_sock, int* client_sock)
 
        return MS_MEDIA_ERR_NONE;
 }
-
-bool ms_ipc_is_valid_msg(const char *msg)
-{
-       MSAPI_RETVM_IF(!MS_STRING_VALID(msg), false, "Invalid msg");
-
-       if (strlen(msg) >= MAX_MSG_SIZE) {
-               MSAPI_DBG_ERR("msg is too long. [%zu] msg size limit is [%d]", strlen(msg), MAX_MSG_SIZE);
-               return false;
-       }
-
-       return true;
-}
index 0b323e7..fff3448 100644 (file)
@@ -74,7 +74,7 @@ static gboolean __read_socket(GIOChannel *channel, GIOCondition condition, gpoin
                return G_SOURCE_REMOVE;
        }
 
-       MSAPI_RETVM_IF(!ms_ipc_is_valid_msg(recv_msg.msg), G_SOURCE_REMOVE, "Invalid msg");
+       MSAPI_RETVM_IF(strlen(recv_msg.msg) == 0 || strlen(recv_msg.msg) > MAX_MSG_SIZE, G_SOURCE_REMOVE, "Invalid msg");
 
        switch (recv_msg.msg_type) {
        case MS_MSG_SCANNER_RESULT:
@@ -236,11 +236,11 @@ static int __media_db_request_update_async(ms_msg_type_e msg_type,
        send_msg.msg_type = msg_type;
        send_msg.pid = syscall(__NR_getpid);
        send_msg.uid = uid;
-       if (g_strlcpy(send_msg.msg, request_path, sizeof(send_msg.msg)) > MAX_MSG_SIZE) {
+       if (g_strlcpy(send_msg.msg, request_path, sizeof(send_msg.msg)) >= MAX_MSG_SIZE) {
                MSAPI_DBG_ERR("path exceeds MAX_MSG_SIZE");
                return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
-       if (g_strlcpy(send_msg.storage_id, storage_id, sizeof(send_msg.storage_id)) > MS_UUID_SIZE) {
+       if (g_strlcpy(send_msg.storage_id, storage_id, sizeof(send_msg.storage_id)) >= MS_UUID_SIZE) {
                MSAPI_DBG_ERR("storage_id exceeds MS_UUID_SIZE");
                return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
@@ -275,7 +275,7 @@ static int __media_db_request_update_cancel(ms_msg_type_e msg_type, const char *
 
        send_msg.msg_type = msg_type;
        send_msg.pid = syscall(__NR_getpid);
-       if (g_strlcpy(send_msg.msg, request_path, sizeof(send_msg.msg)) > MAX_MSG_SIZE) {
+       if (g_strlcpy(send_msg.msg, request_path, sizeof(send_msg.msg)) >= MAX_MSG_SIZE) {
                MSAPI_DBG_ERR("path exceeds MAX_MSG_SIZE");
                return MS_MEDIA_ERR_INVALID_PARAMETER;
        }
index 3177427..ff95309 100644 (file)
@@ -103,13 +103,8 @@ int ms_user_get_internal_root_path(uid_t uid, char **path)
 
 static bool __ms_user_is_internal(uid_t uid, const char *path)
 {
-       int ret = MS_MEDIA_ERR_NONE;
        g_autofree gchar *internal_path = NULL;
-
-       MSAPI_RETVM_IF(!MS_STRING_VALID(path), false, "Invalid path");
-
-       ret = ms_user_get_internal_root_path(uid, &internal_path);
-       MSAPI_RETVM_IF(ret != MS_MEDIA_ERR_NONE, false, "Fail to get internal root path");
+       ms_user_get_internal_root_path(uid, &internal_path);
 
        return g_str_has_prefix(path, internal_path);
 }
index e72ce8e..84758f5 100644 (file)
@@ -27,6 +27,8 @@
 #define INTERNAL_STORAGE_ID    "media"
 #define STORAGE_REMOVED "storage_removed"
 
+#define MS_STRING_VALID(str)   (str && strlen(str) > 0)
+
 typedef enum {
        MS_ITEM_INSERT = 0,
        MS_ITEM_DELETE = 1,