Fix coverity issue
[platform/core/multimedia/libmm-fileinfo.git] / utils / mm_file_util_io.c
index 7183327..03698dc 100644 (file)
@@ -26,6 +26,8 @@
 #include "mm_file_debug.h"
 #include "mm_file_utils.h"
 
+#define HANDLE_STRING_MAX 256
+
 static unsigned char is_little_endian = 0;
 
 inline static int _is_little_endian(void)
@@ -140,7 +142,7 @@ int mmfile_open(MMFileIOHandle **handle, const char *filename, int flags)
 {
        MMFileIOFunc   *pFuc = NULL;
        const char  *pFile = NULL;
-       char        handle_str[256] = {0, };
+       char        handle_str[HANDLE_STRING_MAX] = {0, };
        char        *pHandleName = NULL;
 
        if (!handle || !filename) {
@@ -148,7 +150,7 @@ int mmfile_open(MMFileIOHandle **handle, const char *filename, int flags)
                return MMFILE_UTIL_FAIL;
        }
 
-       memset(handle_str, 0x00, sizeof(handle_str));
+       memset(handle_str, 0x00, HANDLE_STRING_MAX);
 
        pFile = filename;
        pHandleName = handle_str;
@@ -159,7 +161,7 @@ int mmfile_open(MMFileIOHandle **handle, const char *filename, int flags)
                        goto file_handle;
                }
 
-               if ((pHandleName - handle_str) < (int)sizeof(handle_str) - 1) {
+               if ((pHandleName - handle_str) < HANDLE_STRING_MAX - 1) {
                        *pHandleName++ = *pFile;
                }
                pFile++;
@@ -167,7 +169,8 @@ int mmfile_open(MMFileIOHandle **handle, const char *filename, int flags)
 
        if (*pFile == '\0') {
 file_handle:
-               SAFE_STRLCPY(handle_str, "file", sizeof(handle_str));
+               if (g_strlcpy(handle_str, "file", HANDLE_STRING_MAX) >= HANDLE_STRING_MAX)
+                       debug_error(DEBUG, "truncation occurred.");
        } else {
                *pHandleName = '\0';
        }
@@ -324,4 +327,3 @@ int mmfile_register_io_all()
 
        return MMFILE_UTIL_SUCCESS;
 }
-