فهرست منبع

esp32c2: Remove assert check on len for SHA calculation

Sachin Parekh 3 سال پیش
والد
کامیت
7dd62bb044
1فایلهای تغییر یافته به همراه5 افزوده شده و 1 حذف شده
  1. 5 1
      components/bootloader_support/src/esp32c2/bootloader_sha.c

+ 5 - 1
components/bootloader_support/src/esp32c2/bootloader_sha.c

@@ -24,7 +24,11 @@ bootloader_sha256_handle_t bootloader_sha256_start()
 void bootloader_sha256_data(bootloader_sha256_handle_t handle, const void *data, size_t data_len)
 {
     assert(handle != NULL);
-    assert(data_len % 4 == 0);
+    /* C2 secure boot key field consists of 1 byte of curve identifier and 64 bytes of ECDSA public key.
+     * While verifying the signature block, we need to calculate the SHA of this key field which is of 65 bytes.
+     * ets_sha_update handles it cleanly so we can safely remove the check:
+     * assert(data_len % 4) == 0
+     */
     ets_sha_update(&ctx, data, data_len, false);
 }