in optee-utee/src/crypto_op.rs [175:188]
fn allocate(algo: AlgorithmId, mode: OperationMode, max_key_size: usize) -> Result<Self> {
let raw_handle: *mut raw::TEE_OperationHandle = Box::into_raw(Box::new(ptr::null_mut()));
match unsafe {
raw::TEE_AllocateOperation(
raw_handle as *mut _,
algo as u32,
mode as u32,
max_key_size as u32,
)
} {
raw::TEE_SUCCESS => Ok(Self::from_raw(raw_handle)),
code => Err(Error::from_raw_error(code)),
}
}