diff options
author | julie <julielangou@users.noreply.github.com> | 2010-04-02 19:06:51 +0000 |
---|---|---|
committer | julie <julielangou@users.noreply.github.com> | 2010-04-02 19:06:51 +0000 |
commit | 0bb0871778655391667f4c3d54ecaa66e212398d (patch) | |
tree | 1cdc7289f96c98cb76d18bac41fa5fd04d4c67fd /SRC/cla_syrfsx_extended.f | |
parent | 26758c2193fa018bc0811894f78dcdfa8c77839f (diff) |
Following bug report and fix sent by Michael Chuvelev (Intel) on Fri, 2 Apr 2010 to "lapack@cs.utk.edu".
Issue in LAPACK 3.2.1 *la_{po,sy,he}rfsx_extended.f sources. For instanse, in sla_syrfsx_extended.f:
DY is described as
* DY (input) REAL array, dimension (N)
* Workspace to hold the intermediate solution.
whereas N-by-NRHS array is referenced at DY due to the following statement (line 384):
CALL SSYTRS( UPLO, N, NRHS, AF, LDAF, IPIV, DY, N, INFO )
This may lead to an outside memory corruption. I assume one RHS should be referenced here, because all the RHSs are considered individually in the loop by J. That is, substituting NRHS by 1:
CALL SSYTRS( UPLO, N, 1, AF, LDAF, IPIV, DY, N, INFO )
should fix the issue. This is actual for any subroutine mentioned.
Diffstat (limited to 'SRC/cla_syrfsx_extended.f')
-rw-r--r-- | SRC/cla_syrfsx_extended.f | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/SRC/cla_syrfsx_extended.f b/SRC/cla_syrfsx_extended.f index 0fa981c0..8c75f21d 100644 --- a/SRC/cla_syrfsx_extended.f +++ b/SRC/cla_syrfsx_extended.f @@ -392,7 +392,7 @@ ! XXX: RES is no longer needed. CALL CCOPY( N, RES, 1, DY, 1 ) - CALL CSYTRS( UPLO, N, NRHS, AF, LDAF, IPIV, DY, N, INFO ) + CALL CSYTRS( UPLO, N, 1, AF, LDAF, IPIV, DY, N, INFO ) * * Calculate relative changes DX_X, DZ_Z and ratios DXRAT, DZRAT. * |