Skip to content

Fix off by one register init check in pcode byte state#9239

Open
EmirX3D wants to merge 1 commit into
NationalSecurityAgency:masterfrom
EmirX3D:fix-pcode-register-values-defined-ranges
Open

Fix off by one register init check in pcode byte state#9239
EmirX3D wants to merge 1 commit into
NationalSecurityAgency:masterfrom
EmirX3D:fix-pcode-register-values-defined-ranges

Conversation

@EmirX3D

@EmirX3D EmirX3D commented May 31, 2026

Copy link
Copy Markdown

Fix BytesPcodeExecutorStateSpace.getRegisterValues() so register ranges are checked with an inclusive end offset, allowing fully initialized registers such as EDX/EAX/r0 to be returned immediately without requiring the following register byte to be initialized, and add a regression test for the exact initialized register boundary case.

Closes #9238

@EmirX3D EmirX3D force-pushed the fix-pcode-register-values-defined-ranges branch from 31d875b to 81f3c88 Compare May 31, 2026 10:46
@ryanmkurtz ryanmkurtz added Feature: Emulation Status: Triage Information is being gathered labels Jun 1, 2026
@nsadeveloper789 nsadeveloper789 added Status: Prioritize This is currently being prioritized and removed Status: Triage Information is being gathered labels Jun 15, 2026
@nsadeveloper789

Copy link
Copy Markdown
Contributor

I'm prepared to accept this; however, there is a discrepancy between your username on github and that given in your commit author. Please correct it if you'd like to retain credit for the changes.

@nsadeveloper789 nsadeveloper789 added Status: Internal This is being tracked internally by the Ghidra team and removed Status: Prioritize This is currently being prioritized labels Jun 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature: Emulation Status: Internal This is being tracked internally by the Ghidra team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ThreadPcodeExecutorState.getRegisterValues() does not contain full result operand until adjacent register is initialized

3 participants