Merge pull request #342 from Foundation-Devices/elf-alignment

elf: fix a section alignment edge case
This commit is contained in:
bunnie 2023-03-27 22:06:10 +08:00 committed by GitHub
commit ea90f3a312
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -372,8 +372,12 @@ pub fn process_minielf(b: &[u8]) -> Result<MiniElf, ElfReadError> {
if s.get_type() != Ok(ShType::NoBits) {
let section_data = s.raw_data(&elf);
let pad_amount = if let Some(next_section) = section_iter.peek() {
if section_data.len() % next_section.align() as usize != 0 {
next_section.align() as usize - (section_data.len() % next_section.align() as usize)
if next_section.get_type() != Ok(ShType::NoBits) {
if section_data.len() % next_section.align() as usize != 0 {
next_section.align() as usize - (section_data.len() % next_section.align() as usize)
} else {
0
}
} else {
0
}