Skip to content

Floating point type propagation failure  #5309

@plafosse

Description

@plafosse

MLIL fails to properly propagate a floating point type to the constant under some conditions.

In the included binary you can see that on instruction 0x0000298f the constant isn't being represented as a floating point value and the zmm0 variable doesn't have the type of double

image

It should be trivially determinable via the following instruction indicating its part of a floating point add
image

fp_bug.zip

Special Thanks to: Zao Yang and Stefan Nagy for their research in Decompiler Fuzzing for reporting this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Component: CoreIssue needs changes to the coreCore: MLILIssue involves Medium Level ILEffort: TrivialIssues require < 1 day of workImpact: MediumIssue is impactful with a bad, or no, workaround

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions