This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch releases/12.11
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 47e4576b1c9622eae290a249c750cde93317732c
Author: Huang Qi <[email protected]>
AuthorDate: Fri Sep 19 09:17:13 2025 +0800

    arch/xtensa: espressif: temperature: Fix incorrect pointer casting
    
    Fix bug in temperature sensor driver where direct casting of lower half
    structure pointer could lead to incorrect memory access.
    
    Signed-off-by: Huang Qi <[email protected]>
---
 arch/xtensa/src/common/espressif/esp_temperature_sensor.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/xtensa/src/common/espressif/esp_temperature_sensor.c 
b/arch/xtensa/src/common/espressif/esp_temperature_sensor.c
index 7b590330bec..701346b0d08 100644
--- a/arch/xtensa/src/common/espressif/esp_temperature_sensor.c
+++ b/arch/xtensa/src/common/espressif/esp_temperature_sensor.c
@@ -713,7 +713,8 @@ static int esp_temperature_sensor_set_interval(
   struct file *filep,
   uint32_t *period_us)
 {
-  struct esp_temp_priv_s *priv = (struct esp_temp_priv_s *)lower;
+  struct esp_temp_priv_s *priv =
+    container_of(lower, struct esp_temp_priv_s, lower);
 
   if (*period_us < ESP_TEMP_MIN_INTERVAL)
     {
@@ -752,7 +753,8 @@ static int esp_temperature_sensor_activate(
   struct file *filep,
   bool enable)
 {
-  struct esp_temp_priv_s *priv = (struct esp_temp_priv_s *)lower;
+  struct esp_temp_priv_s *priv =
+    container_of(lower, struct esp_temp_priv_s, lower);
 #ifdef CONFIG_ESPRESSIF_TEMP_UORB_POLL
   bool start_thread = false;
 #endif

Reply via email to