Skip to main content

read_with_limits

Function read_with_limits 

Source
pub fn read_with_limits(
    bytes: &[u8],
    limits: &Limits,
) -> Result<Object, ReadError>
Expand description

Reads an ELF file into an object, with the given Limits.

§Errors

As read(), with ReadError::LimitExceeded naming the first budget exceeded.

§Examples

use object_lang::{Architecture, Limits, Object, ReadError, Symbol};

let mut obj = Object::relocatable(Architecture::X86_64);
obj.add_symbol(Symbol::undefined("a_rather_long_symbol_name"));
let bytes = object_lang::elf::write(&obj)?;

let mut limits = Limits::default();
limits.max_name_len = 8;
assert_eq!(
    object_lang::elf::read_with_limits(&bytes, &limits),
    Err(ReadError::LimitExceeded { limit: "max_name_len" }),
);