INNER CODE UNIT · Rust

process_ctap_structured

google/OpenSK · libraries/opensk/fuzz/fuzz_helper/src/lib.rs:219

pub fn process_ctap_structured(data: &[u8], input_type: InputType) -> FuzzResult<()> {
    let unstructured = &mut Unstructured::new(data);

    let mut env = TestEnv::default();
    env.seed_rng_from_u64(u64::arbitrary(unstructured)?);
    setup_customization(unstructured, env.customization_mut())?;

    let mut state = CtapState::new(&mut env);
    setup_state(unstructured, &mut state, &mut env)?;

    let command = match input_type {
        InputType::CborMakeCredentialParameter => Command::AuthenticatorMakeCredential(
            AuthenticatorMakeCredentialParameters::arbitrary(unstructured)?,
        ),
        InputType::CborGetAssertionParameter => Command::AuthenticatorGetAssertion(
            AuthenticatorGetAssertionParameters::arbitrary(unstructured)?,
        ),
        InputType::CborClientPinParameter => Command::AuthenticatorClientPin(

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…