Skip to content

Fix padding handling in note parsing resulting in "region out-of-bounds"#491

Open
0xd34df00d wants to merge 1 commit intogoogle:mainfrom
0xd34df00d:fix_note_parsing
Open

Fix padding handling in note parsing resulting in "region out-of-bounds"#491
0xd34df00d wants to merge 1 commit intogoogle:mainfrom
0xd34df00d:fix_note_parsing

Conversation

@0xd34df00d
Copy link
Copy Markdown

The actual note content might not be well-aligned, so the linker might pad the section. In this case, remaining_ will not be empty, but it might not be big enough to read a full Elf_Note header, resulting in an out-of-bounds access.

This fixes failures on some binaries resulting in

bloaty: region out-of-bounds

In particular, this happens with Qt binaries which embed .note.qt.metadata section with pretty much arbitrary internal length.


I've run tests locally, and no new tests fail (my local run fails EmptyObjectFile, SimpleObjectFile and SimpleArchiveFile, but that also happens on master).

The actual note content might not be well-aligned, so the linker might
pad the section. In this case, `remaining_` will _not_ be empty, but it
might not be big enough to read a full `Elf_Note` header, resulting in
an out-of-bounds access.

This fixes failures on some binaries resulting in
> bloaty: region out-of-bounds

In particular, this happens with Qt binaries which embed
`.note.qt.metadata` section with pretty much arbitrary internal length.
@google-cla
Copy link
Copy Markdown

google-cla bot commented Mar 22, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@0xd34df00d
Copy link
Copy Markdown
Author

Apparently #390 is also related.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant