N_SE-7188 apply Null check of filepath
authorSeunghwan Lee <sh.cat.lee@samsung.com>
Tue, 28 Aug 2012 11:01:57 +0000 (20:01 +0900)
committerSeunghwan Lee <sh.cat.lee@samsung.com>
Tue, 28 Aug 2012 11:01:57 +0000 (20:01 +0900)
mapi/msg_mms.cpp

index 2ad6f04..218f643 100755 (executable)
@@ -22,6 +22,7 @@
 #include "MsgTypes.h"
 #include "MsgMmsTypes.h"
 #include "MsgMmsMessage.h"
+#include "MsgDebug.h"\r
 
 #include "msg.h"
 #include "msg_private.h"
@@ -823,10 +824,21 @@ int msg_mms_set_str_value(msg_struct_s *msg_struct, int field, char *value, int
                        strncpy(mms_media_data->szFileName, value, MSG_FILEPATH_LEN_MAX);
                } else if (field == MSG_MMS_MEDIA_FILEPATH_STR) {
                        char *filename = NULL;
-                       strncpy(mms_media_data->szFilePath, value, MSG_FILEPATH_LEN_MAX);
-                       filename = strrchr(value, '/');
-                       strncpy(mms_media_data->szFileName, filename + 1, MSG_FILENAME_LEN_MAX-1);
-                       strncpy(mms_media_data->szContentID, filename + 1, MSG_MSG_ID_LEN);
+                       if (value != NULL) {\r
+                               MSG_DEBUG("media file path = %s", value);\r
+                               strncpy(mms_media_data->szFilePath, value, MSG_FILEPATH_LEN_MAX);\r
+                               filename = strrchr(value, '/');\r
+                               if (filename != NULL) {\r
+                                       strncpy(mms_media_data->szFileName, filename + 1, MSG_FILENAME_LEN_MAX-1);\r
+                                       strncpy(mms_media_data->szContentID, filename + 1, MSG_MSG_ID_LEN);\r
+                               } else {\r
+                                       strncpy(mms_media_data->szFileName, value + 1, MSG_FILENAME_LEN_MAX-1);\r
+                                       strncpy(mms_media_data->szContentID, value + 1, MSG_MSG_ID_LEN);\r
+                               }\r
+                       } else {\r
+                               MSG_DEBUG("media file path is NULL");\r
+                               err = MSG_ERR_INVALID_PARAMETER;\r
+                       }\r
                } else if (field == MSG_MMS_MEDIA_CONTENT_ID_STR)
                        strncpy(mms_media_data->szContentID, value, MSG_MSG_ID_LEN);
                else if (field == MSG_MMS_MEDIA_REGION_ID_STR)
@@ -847,13 +859,25 @@ int msg_mms_set_str_value(msg_struct_s *msg_struct, int field, char *value, int
                else if (field == MSG_MMS_ATTACH_FILEPATH_STR) {
                        char *filename = NULL;
                        char *filepath = value;
-                       mms_attach_data->mediatype = MIME_UNKNOWN;
-                       mms_attach_data->fileSize = -1;
 
-                       strncpy(mms_attach_data->szFilePath, filepath, MSG_FILEPATH_LEN_MAX-1);
-
-                       filename = strrchr(filepath, '/');
-                       strncpy(mms_attach_data->szFileName, filename + 1, MSG_FILENAME_LEN_MAX-1);
+                       if (filepath != NULL) {\r
+                               MSG_DEBUG("attach file path = %s", filepath);\r
+                               mms_attach_data->mediatype = MIME_UNKNOWN;\r
+                               mms_attach_data->fileSize = -1;\r
+
+                               strncpy(mms_attach_data->szFilePath, filepath, MSG_FILEPATH_LEN_MAX-1);\r
+\r
+                               filename = strrchr(filepath, '/');\r
+                               if (filename != NULL) {\r
+                                       strncpy(mms_attach_data->szFileName, filename + 1, MSG_FILENAME_LEN_MAX-1);\r
+                               } else {\r
+                                       strncpy(mms_attach_data->szFileName, filepath, MSG_FILENAME_LEN_MAX-1);\r
+                               }\r
+\r
+                       } else {\r
+                               MSG_DEBUG("attach file path is NULL");\r
+                               err = MSG_ERR_INVALID_PARAMETER;\r
+                       }\r
                } else if (field == MSG_MMS_ATTACH_DRM_FULLPATH_STR)
                        strncpy(mms_attach_data->szDrm2FullPath, value, MSG_FILEPATH_LEN_MAX);
                else