From: Renz Christian Bagaporo Date: Mon, 20 May 2019 11:31:45 +0000 (+0800) Subject: esp_event: always alloc data when not posting from isr X-Git-Tag: v4.0-beta1~316^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4042902402ab94eb71e1b946a2d27bdcdc3057ca;p=esp-idf esp_event: always alloc data when not posting from isr --- diff --git a/components/esp_event/esp_event.c b/components/esp_event/esp_event.c index f9704977d1..61a372a176 100644 --- a/components/esp_event/esp_event.c +++ b/components/esp_event/esp_event.c @@ -753,24 +753,17 @@ esp_err_t esp_event_post_to(esp_event_loop_handle_t event_loop, esp_event_base_t memset((void*)(&post), 0, sizeof(post)); if (event_data != NULL && event_data_size != 0) { -#if CONFIG_ESP_EVENT_POST_FROM_ISR - if(event_data_size > sizeof(post.data.val)) { -#endif - // Make persistent copy of event data on heap. - void* event_data_copy = calloc(1, event_data_size); + // Make persistent copy of event data on heap. + void* event_data_copy = calloc(1, event_data_size); - if (event_data_copy == NULL) { - return ESP_ERR_NO_MEM; - } + if (event_data_copy == NULL) { + return ESP_ERR_NO_MEM; + } - memcpy(event_data_copy, event_data, event_data_size); + memcpy(event_data_copy, event_data, event_data_size); #if CONFIG_ESP_EVENT_POST_FROM_ISR - post.data.ptr = event_data_copy; - post.data_allocated = true; - } else { - memcpy(&post.data.val, event_data, event_data_size); - post.data_allocated = false; - } + post.data.ptr = event_data_copy; + post.data_allocated = true; post.data_set = true; #else post.data = event_data_copy;