Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
2 tasks done
martin-frbg opened this issue May 17, 2025 · 0 comments · May be fixed by #1129
Open
2 tasks done

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

martin-frbg opened this issue May 17, 2025 · 0 comments · May be fixed by #1129

Comments

@martin-frbg
Copy link
Collaborator

martin-frbg commented May 17, 2025

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
@martin-frbg martin-frbg changed the title Calling ?GEEV with non-finite input leads to memory corruption from array underruns in ?LASCAL Calling ?GEEV with non-finite input leads to memory corruption in ?LASCAL May 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant