}
attachment_data_list_stream = em_convert_attachment_data_to_byte_stream(input_attachment_data, input_attachment_count, &size);
- if (!emipc_add_dynamic_parameter(hAPI, ePARAMETER_IN, attachment_data_list_stream, size)) {
+ if ((size > 0) && !emipc_add_dynamic_parameter(hAPI, ePARAMETER_IN, attachment_data_list_stream, size)) {
EM_DEBUG_EXCEPTION("emipc_add_dynamic_parameter failed");
err = EMAIL_ERROR_OUT_OF_MEMORY;
goto FINISH_OFF;
#include "email-core-utils.h"
#include "email-core-mail.h"
#include "email-core-smtp.h"
+#include "email-core-account.h"
#include "email-core-task-manager.h"
#include "email-storage.h"
#include "email-utilities.h"
}
-
+#define TMP_BODY_PATH "/tmp/UTF-8"
int email_create_db_full()
{
int mailbox_index, mail_index, mailbox_count, mail_slot_size;
+ int account_id = 0;
emstorage_mail_tbl_t mail_table_data = {0};
email_mailbox_t *mailbox_list = NULL;
int err = EMAIL_ERROR_NONE;
+ int i = 0;
+ FILE *body_file = NULL;
if ( (err = email_open_db()) != EMAIL_ERROR_NONE) {
EM_DEBUG_EXCEPTION("email_open_db failed [%d]", err);
return err;
}
+ if ((err = emcore_load_default_account_id(&account_id)) != EMAIL_ERROR_NONE) {
+ EM_DEBUG_EXCEPTION("emcore_load_default_account_id failed : [%d]", err);
+ goto FINISH_OFF;
+ }
+
+ body_file = fopen(TMP_BODY_PATH, "w");
+ if (body_file == NULL) {
+ EM_DEBUG_EXCEPTION("fopen failed");
+ err = EMAIL_ERROR_SYSTEM_FAILURE;
+ goto FINISH_OFF;
+ }
+
+ for (i = 0; i < 10; i++)
+ fprintf(body_file, "Dummy test. [line:%d]\n", i);
+
+
+ fflush(body_file);
+
mail_table_data.subject = (char*) em_malloc(50);
mail_table_data.full_address_from = strdup("<dummy_from@nowhere.com>");
mail_table_data.full_address_to = strdup("<dummy_to@nowhere.com>");
- mail_table_data.account_id =1;
+ mail_table_data.account_id = account_id;
+ mail_table_data.file_path_plain = strdup(TMP_BODY_PATH);
+ mail_table_data.body_download_status = 1;
if( (err = email_get_mailbox_list_ex(1, -1, 0, &mailbox_list, &mailbox_count)) < EMAIL_ERROR_NONE) {
EM_DEBUG_EXCEPTION("email_get_mailbox_list_ex failed [%d]", err);
if ( (err = email_close_db()) != EMAIL_ERROR_NONE) {
EM_DEBUG_EXCEPTION("email_close_db failed [%d]", err);
}
+
+ fclose(body_file);
if(mailbox_list)
email_free_mailbox(&mailbox_list, mailbox_count);
/* email_attachment_data_t */
attachment_data_list_stream = em_convert_attachment_data_to_byte_stream(input_attachment_data_list, input_attachment_count, &size);
-
- if(!emipc_add_dynamic_parameter(hAPI, ePARAMETER_IN, attachment_data_list_stream, size)) {
+ if ((size > 0) && !emipc_add_dynamic_parameter(hAPI, ePARAMETER_IN, attachment_data_list_stream, size)) {
EM_DEBUG_EXCEPTION("emipc_add_dynamic_parameter failed");
err = EMAIL_ERROR_OUT_OF_MEMORY;
goto FINISH_OFF;
}
/* email_meeting_request_t */
- if ( input_mail_data->meeting_request_status != EMAIL_MAIL_TYPE_NORMAL ) {
+ if (input_mail_data->meeting_request_status != EMAIL_MAIL_TYPE_NORMAL) {
meeting_request_stream = em_convert_meeting_req_to_byte_stream(input_meeting_request, &size);
if(!meeting_request_stream) {
/* memset(accounts + i, 0x00, sizeof(email_account_t)) */
*p = (email_account_list_t*) em_malloc(sizeof(email_account_list_t));
- if (!(*p)) {
+ if (!(*p)) { /*prevent 26223*/
EM_DEBUG_EXCEPTION("malloc failed...");
+ emcore_free_account(account);
+ EM_SAFE_FREE(account);
err = EMAIL_ERROR_OUT_OF_MEMORY;
goto FINISH_OFF;
}
else
cnt_info->grab_type = GRAB_TYPE_TEXT;
- int uid = atoi(s_uid);
+ int uid = s_uid? atoi(s_uid):0; /*prevent 39118*/
/* set sparep(member of BODY) memory free function */
mail_parameters(stream, SET_FREEBODYSPAREP, emcore_free_body_sharep);
, mail_id);
move_flag = 1;
-
+ emstorage_free_mailbox(&mailbox_tbl, 1, NULL); /*prevent 26251*/
EM_DEBUG_LOG("Query [%s]", sql_query_string);
EMSTORAGE_PROTECTED_FUNC_CALL(sqlite3_prepare_v2(local_db_handle, sql_query_string, EM_SAFE_STRLEN(sql_query_string), &hStmt, NULL), rc);
EM_DEBUG_DB_EXEC((SQLITE_OK != rc), {error = EMAIL_ERROR_DB_FAILURE;goto FINISH_OFF; },
("SQL(%s) sqlite3_prepare fail:(%d) %s", sql_query_string, rc, sqlite3_errmsg(local_db_handle)));
- emstorage_free_mailbox(&mailbox_tbl, 1, NULL);
}
break;
goto FINISH_OFF;
}
}
+
+ param_index++;
}
- param_index++;
/* meeting request */
EM_DEBUG_LOG("email_meeting_request_t");
em_convert_byte_stream_to_mail_data(stream, buffer_size, &result_mail_data);
}
- buffer_size = emipc_get_nth_parameter_length(a_hAPI, ePARAMETER_IN, param_index);
-
- EM_DEBUG_LOG("email_attachment_data_t buffer_size[%d]", buffer_size);
+ if (result_mail_data.attachment_count > 0) {
+ buffer_size = emipc_get_nth_parameter_length(a_hAPI, ePARAMETER_IN, param_index);
+ EM_DEBUG_LOG("email_attachment_data_t buffer_size[%d]", buffer_size);
- if(buffer_size > 0) {
- char *stream = (char*) emipc_get_nth_parameter_data(a_hAPI, ePARAMETER_IN, param_index);
- em_convert_byte_stream_to_attachment_data(stream, buffer_size, &result_attachment_data, &result_attachment_data_count);
+ if(buffer_size > 0) {
+ char *stream = (char*) emipc_get_nth_parameter_data(a_hAPI, ePARAMETER_IN, param_index);
+ em_convert_byte_stream_to_attachment_data(stream, buffer_size, &result_attachment_data, &result_attachment_data_count);
- EM_DEBUG_LOG("result_attachment_data_count[%d]", result_attachment_data_count);
+ EM_DEBUG_LOG("result_attachment_data_count[%d]", result_attachment_data_count);
- if(result_attachment_data_count && !result_attachment_data) {
- EM_DEBUG_EXCEPTION("em_convert_byte_stream_to_attachment_data failed");
- err = EMAIL_ERROR_ON_PARSING;
- goto FINISH_OFF;
+ if(result_attachment_data_count && !result_attachment_data) {
+ EM_DEBUG_EXCEPTION("em_convert_byte_stream_to_attachment_data failed");
+ err = EMAIL_ERROR_ON_PARSING;
+ goto FINISH_OFF;
+ }
}
+ param_index++;
}
- param_index++;
EM_DEBUG_LOG("email_meeting_request_t");
}
/* attachment */
- buffer_size = emipc_get_nth_parameter_length(a_hAPI, ePARAMETER_IN, param_index);
- EM_DEBUG_LOG("email_attachment_data_t buffer_size[%d]", buffer_size);
+ if (result_mail_data.attachment_count > 0) {
+ buffer_size = emipc_get_nth_parameter_length(a_hAPI, ePARAMETER_IN, param_index);
+ EM_DEBUG_LOG("email_attachment_data_t buffer_size[%d]", buffer_size);
- if(buffer_size > 0) {
- char *stream = (char*) emipc_get_nth_parameter_data(a_hAPI, ePARAMETER_IN, param_index);
- em_convert_byte_stream_to_attachment_data(stream, buffer_size, &result_attachment_data, &result_attachment_data_count);
+ if(buffer_size > 0) {
+ char *stream = (char*) emipc_get_nth_parameter_data(a_hAPI, ePARAMETER_IN, param_index);
+ em_convert_byte_stream_to_attachment_data(stream, buffer_size, &result_attachment_data, &result_attachment_data_count);
- EM_DEBUG_LOG("result_attachment_data_count[%d]", result_attachment_data_count);
+ EM_DEBUG_LOG("result_attachment_data_count[%d]", result_attachment_data_count);
- if(result_attachment_data_count && !result_attachment_data) {
- EM_DEBUG_EXCEPTION("em_convert_byte_stream_to_attachment_data failed");
- err = EMAIL_ERROR_ON_PARSING;
- goto FINISH_OFF;
+ if(result_attachment_data_count && !result_attachment_data) {
+ EM_DEBUG_EXCEPTION("em_convert_byte_stream_to_attachment_data failed");
+ err = EMAIL_ERROR_ON_PARSING;
+ goto FINISH_OFF;
+ }
}
+
+ param_index++;
}
- param_index++;
buffer_size = emipc_get_nth_parameter_length(a_hAPI, ePARAMETER_IN, param_index);
if (buffer_size > 0) {
Name: email-service
Summary: E-mail Framework Middleware package
-Version: 0.10.79
+Version: 0.10.80
Release: 1
Group: System/Libraries
License: TBD