Skip to content

Calling ?GEEV with non-finite input leads to memory corruption in ?LASCAL #1128

Open
@martin-frbg

Description

@martin-frbg

Description
See OpenMathLib/OpenBLAS#5250 for full context and reproducer
Calling ?GEEV with non-finite input will fail in ?HSEQR. ?GEEV will then invoke ?LASCAL to undo any previous scaling of the input data, using INFO as a reference - with the existing guard for INFO.GT.0 covering only half the invocations.
The trivial fix would be to move the existing check for INFO.GT.0 into the outer if (?CALEA) THEN conditional - or add a check for INFO.GE.0 there. The same problem appears to be present in ?GEEVX, though I have not checked in detail.
Checklist

  • I've included a minimal example to reproduce the issue
  • I'd be willing to make a PR to solve this issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions