]> granicus.if.org Git - esp-idf/commitdiff
esp_event: always alloc data when not posting from isr
authorRenz Christian Bagaporo <renz@espressif.com>
Mon, 20 May 2019 11:31:45 +0000 (19:31 +0800)
committerRenz Christian Bagaporo <renz@espressif.com>
Wed, 22 May 2019 03:29:17 +0000 (11:29 +0800)
components/esp_event/esp_event.c

index f9704977d162ce0a22c18414da88f9ad33ec74a4..61a372a1763102d933e069b8c7803d5efafcd97c 100644 (file)
@@ -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;