in source/kms.c [2174:2205]
void aws_kms_encrypt_request_destroy(struct aws_kms_encrypt_request *req) {
if (req == NULL) {
return;
}
AWS_PRECONDITION(req);
AWS_PRECONDITION(aws_allocator_is_valid(req->allocator));
if (aws_byte_buf_is_valid(&req->plaintext)) {
aws_byte_buf_clean_up_secure(&req->plaintext);
}
if (aws_string_is_valid(req->key_id)) {
aws_string_destroy(req->key_id);
}
if (aws_hash_table_is_valid(&req->encryption_context)) {
aws_hash_table_clean_up(&req->encryption_context);
}
if (aws_array_list_is_valid(&req->grant_tokens)) {
for (size_t i = 0; i < aws_array_list_length(&req->grant_tokens); i++) {
struct aws_string *elem = NULL;
AWS_FATAL_ASSERT(aws_array_list_get_at(&req->grant_tokens, &elem, i) == AWS_OP_SUCCESS);
aws_string_destroy(elem);
}
aws_array_list_clean_up(&req->grant_tokens);
}
aws_mem_release(req->allocator, req);
}