INNER CODE UNIT · Rust

initialize

brndnmtthws/dryoc · src/argon2/mod.rs:245

    fn initialize(&mut self) -> Result<(), Error> {
        // 1. Memory allocation
        try_reserve_argon2(&mut self.region.memory, self.memory_blocks as usize)?;
        try_reserve_argon2(&mut self.pseudo_rands, self.segment_length as usize)?;
        self.region
            .memory
            .resize(self.memory_blocks as usize, Default::default());
        self.pseudo_rands.resize(self.segment_length as usize, 0);
        Ok(())
    }
}

fn try_reserve_argon2<T>(values: &mut Vec<T>, additional: usize) -> Result<(), Error> {
    values
        .try_reserve_exact(additional)
        .map_err(|_| Error::allocation_failed(crate::ErrorContext::MemoryCost))
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…