这是indexloc提供的服务,不要输入任何密码
Skip to content

Incorrect memory store in decompilation when using pointer offsets #8630

@dt-12345

Description

@dt-12345

Describe the bug
Sometimes when using a pointer offset, the decompiler outputs stores to the incorrect offsets in the struct.

To Reproduce
I'm not sure how to consistently reproduce it, but here's a sample where it occurs.
render_info.zip

Without pointer offsets (puVar2 is void* here)
Image

With pointer offsets
Image

Expected behavior
The highlighted line should be

&ADJ(puVar2)->field5_0x48.field2_0xa = uVar3;

Environment (please complete the following information):

  • OS: Windows 10 22H2
  • Java Version: 21.0.4
  • Ghidra Version: 12.1 Dev
  • Ghidra Origin: Locally built from official GitHub repository

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions