Skip to content

Commit bcdd799

Browse files
committed
fix out-of-bound accesses in clasyf_aa
1 parent f9231d9 commit bcdd799

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

SRC/clasyf_aa.f

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -326,13 +326,15 @@ SUBROUTINE CLASYF_AA( UPLO, J1, M, NB, A, LDA, IPIV,
326326
* Compute L(J+2, J+1) = WORK( 3:M ) / T(J, J+1),
327327
* where A(J, J+1) = T(J, J+1) and A(J+2:M, J) = L(J+2:M, J+1)
328328
*
329-
IF( A( K, J+1 ).NE.ZERO ) THEN
330-
ALPHA = ONE / A( K, J+1 )
331-
CALL CCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA )
332-
CALL CSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA )
333-
ELSE
334-
CALL CLASET( 'Full', 1, M-J-1, ZERO, ZERO,
335-
$ A( K, J+2 ), LDA)
329+
IF( J.LT.(M-1) ) THEN
330+
IF( A( K, J+1 ).NE.ZERO ) THEN
331+
ALPHA = ONE / A( K, J+1 )
332+
CALL CCOPY( M-J-1, WORK( 3 ), 1, A( K, J+2 ), LDA )
333+
CALL CSCAL( M-J-1, ALPHA, A( K, J+2 ), LDA )
334+
ELSE
335+
CALL CLASET( 'Full', 1, M-J-1, ZERO, ZERO,
336+
$ A( K, J+2 ), LDA)
337+
END IF
336338
END IF
337339
END IF
338340
J = J + 1

0 commit comments

Comments
 (0)