
static esp_err_t process_segment_data(intptr_t load_addr, uint32_t data_addr, uint32_t data_len, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum)
{
    if (do_load) {
        if (safe_memcpy((void *)load_addr, (void *)data_addr, data_len) != ESP_OK) {
            return ESP_ERR_INVALID_SIZE;
        }
    }
    // Rest of the function implementation
}
