last_pos = EM_SAFE_STRLEN(*result_string);
new_buffer_length = last_pos + received_length + 1;
EM_DEBUG_LOG("new_buffer_length[%d]", new_buffer_length);
- *result_string = realloc(*result_string, new_buffer_length);
+
+ char *new_result_string = NULL;
+ new_result_string = realloc(*result_string, new_buffer_length);
+ if (NULL == new_result_string) {
+ EM_DEBUG_EXCEPTION("memory reallocation failed");
+ EM_SAFE_FREE(*result_string);
+ received_length = 0;
+ goto FINISH_OFF;
+ }
+
+ *result_string = new_result_string;
}
if (*result_string == NULL) {
_task_handler_array_size++;
if (_task_handler_array) {
- _task_handler_array = realloc(_task_handler_array, sizeof(email_task_handler_t*) * _task_handler_array_size);
+
+ email_task_handler_t **_new_task_handler_array = NULL;
+
+ _new_task_handler_array = realloc(_task_handler_array, sizeof(email_task_handler_t*) * _task_handler_array_size);
+ if (NULL == _new_task_handler_array) {
+ EM_DEBUG_EXCEPTION("memory reallocation failed");
+ err = EMAIL_ERROR_OUT_OF_MEMORY;
+ EM_SAFE_FREE(new_task_handler);
+ EM_SAFE_FREE(_task_handler_array);
+ goto FINISH_OFF;
+ }
+
+ _task_handler_array = _new_task_handler_array;
} else {
_task_handler_array = malloc(sizeof(email_task_handler_t*) * _task_handler_array_size);
- }
- if (_task_handler_array == NULL) {
- err = EMAIL_ERROR_OUT_OF_MEMORY;
- EM_SAFE_FREE(new_task_handler);
- goto FINISH_OFF;
+ if (_task_handler_array == NULL) {
+ err = EMAIL_ERROR_OUT_OF_MEMORY;
+ EM_SAFE_FREE(new_task_handler);
+ goto FINISH_OFF;
+ }
}
+
_task_handler_array[_task_handler_array_size - 1] = new_task_handler;
FINISH_OFF: