In the following API, is it safe to use same buffer pointer for input and output (i.e., p_cleartext and p_ciphertext respectively)?
/**@brief AES ECB block. Used to provide multiple blocks in a single call to @ref sd_ecb_blocks_encrypt.*/ typedef struct { soc_ecb_key_t const * p_key; /**< Pointer to the Encryption key. */ soc_ecb_cleartext_t const * p_cleartext; /**< Pointer to the Cleartext data. */ soc_ecb_ciphertext_t * p_ciphertext; /**< Pointer to the Ciphertext data. */ } nrf_ecb_hal_data_block_t; /**@brief Encrypts multiple data blocks provided as an array of data block structures. * * @details: Performs 128-bit AES encryption on multiple data blocks * * @note: * - The application may set the SEVONPEND bit in the SCR to 1 to make the SoftDevice sleep while * the ECB is running. The SEVONPEND bit should only be cleared (set to 0) from application * main or low interrupt level. * * @param[in] block_count Count of blocks in the p_data_blocks array. * @param[in,out] p_data_blocks Pointer to the first entry in a contiguous array of * @ref nrf_ecb_hal_data_block_t structures. * * @retval ::NRF_SUCCESS */ SVCALL(SD_ECB_BLOCKS_ENCRYPT, uint32_t, sd_ecb_blocks_encrypt(uint8_t block_count, nrf_ecb_hal_data_block_t * p_data_blocks));