LAPACK Archives

[Lapack] Out of bounds bug in Lapack 4.2's SRC/ilaslr.f


this was reported at

The problem is the line 47:

47:       IF( M.EQ.0 .OR. A(M, 1).NE.ZERO .OR. A(M, N).NE.ZERO ) THEN

If M == 0 the one accesses A(0,1) which is invalid as the lower bound is
1 and not 0.

Note: Contrary to C there is no left-to-right evaluation of expressions
in Fortran; the order is left to the compiler. One might assume that a
smart compiler does not evaluate "A(M,1)" if "M==0", however, there is
nothing in the standard guarantees this.

If bounds checks are turned on (see post at the URL above), gfortran
aborts with an out-of-bounds error.

 * * *

Other question: Is there any update about the 4.2 manpages tar ball?


<Prev in Thread] Current Thread [Next in Thread>

For additional information you may use the LAPACK/ScaLAPACK Forum.
Or one of the mailing lists, or