Avoid out-of-bounds accesses in LAPACK EIG tests
authorMartin Kroeker <martin@ruby.chemie.uni-freiburg.de>
Sat, 27 Apr 2019 21:01:49 +0000 (23:01 +0200)
committerGitHub <noreply@github.com>
Sat, 27 Apr 2019 21:01:49 +0000 (23:01 +0200)
see https://github.com/Reference-LAPACK/lapack/issues/333

lapack-netlib/TESTING/EIG/chet21.f
lapack-netlib/TESTING/EIG/chpt21.f
lapack-netlib/TESTING/EIG/zhet21.f
lapack-netlib/TESTING/EIG/zhpt21.f

index 8dbdb52..5aff649 100644 (file)
    10    CONTINUE
 *
          IF( N.GT.1 .AND. KBAND.EQ.1 ) THEN
-            DO 20 J = 1, N - 1
+CMK            DO 20 J = 1, N - 1
+            DO 20 J = 2, N - 1
                CALL CHER2( CUPLO, N, -CMPLX( E( J ) ), U( 1, J ), 1,
      $                     U( 1, J-1 ), 1, WORK, N )
    20       CONTINUE
index 4b92794..e151a8b 100644 (file)
    10    CONTINUE
 *
          IF( N.GT.1 .AND. KBAND.EQ.1 ) THEN
-            DO 20 J = 1, N - 1
+            DO 20 J = 2, N - 1
                CALL CHPR2( CUPLO, N, -CMPLX( E( J ) ), U( 1, J ), 1,
      $                     U( 1, J-1 ), 1, WORK )
    20       CONTINUE
index 32a0974..f6cb2d7 100644 (file)
    10    CONTINUE
 *
          IF( N.GT.1 .AND. KBAND.EQ.1 ) THEN
-            DO 20 J = 1, N - 1
+CMK            DO 20 J = 1, N - 1
+            DO 20 J = 2, N - 1
                CALL ZHER2( CUPLO, N, -DCMPLX( E( J ) ), U( 1, J ), 1,
      $                     U( 1, J-1 ), 1, WORK, N )
    20       CONTINUE
index f926866..ef9e441 100644 (file)
    10    CONTINUE
 *
          IF( N.GT.1 .AND. KBAND.EQ.1 ) THEN
-            DO 20 J = 1, N - 1
+CMK            DO 20 J = 1, N - 1
+            DO 20 J = 2, N - 1
                CALL ZHPR2( CUPLO, N, -DCMPLX( E( J ) ), U( 1, J ), 1,
      $                     U( 1, J-1 ), 1, WORK )
    20       CONTINUE