Skip to content

AArch64 memory load immediate disponent truncated #2878

@OBarronCS

Description

@OBarronCS

Work environment

Questions Answers
Capstone module affected aarch64
Source of Capstone source
Version/git commit latest next branch, commit hash 905d2d2

The metadata value indicating the memory disponent of aarch64 memory access instructions appears to be truncated to 32 bits.

On latest version of Capstone:

> cstool -d aarch64 a8792958 0x100c894d4
100c894d4  a8 79 29 58  ldr	x8, 0x100cdc408
	ID: 634 (ldr)
	op_count: 2
		operands[0].type: REG = x8
		operands[0].access: WRITE
		operands[1].type: MEM
			operands[1].mem.disp: 0xcdc408
		operands[1].access: READ
	Registers modified: x8

Expected: that .disp would be 0x100cdc408.

Previous version (5.0.7)

> cstool -d arm64 a8792958 0x100c894d4
100c894d4  a8 79 29 58  ldr	x8, #0x100cdc408
	ID: 558 (ldr)
	op_count: 2
		operands[0].type: REG = x8
		operands[0].access: WRITE
		operands[1].type: IMM = 0x100cdc408
		operands[1].access: READ
	Registers modified: x8

Metadata

Metadata

Assignees

No one assigned

    Labels

    AArch64ArchbugSomething is not working as it should

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions