Parcourir la source

Merge branch 'bugfix/aes_gcm_unaligned_psram' into 'master'

aes: fix potential unaligned access in aes-gcm

Closes IDFGH-5506

See merge request espressif/esp-idf!15668
Marius Vikhammer il y a 4 ans
Parent
commit
f578a67ec7
1 fichiers modifiés avec 3 ajouts et 6 suppressions
  1. 3 6
      components/mbedtls/port/aes/esp_aes_gcm.c

+ 3 - 6
components/mbedtls/port/aes/esp_aes_gcm.c

@@ -108,12 +108,9 @@ static void increment32_j0(esp_gcm_context *ctx, uint8_t *j)
 /* Function to xor two data blocks */
 static void xor_data(uint8_t *d, const uint8_t *s)
 {
-    uint32_t *dst = (uint32_t *) d;
-    uint32_t *src = (uint32_t *) s;
-    *dst++ ^= *src++;
-    *dst++ ^= *src++;
-    *dst++ ^= *src++;
-    *dst++ ^= *src++;
+    for (int i = 0; i < AES_BLOCK_BYTES; i++) {
+        d[i] ^= s[i];
+    }
 }