[Lapack] Out of bounds bug in Lapack 4.2's SRC/ilaslr.f
From: Tobias Burnus
Date: Fri, 19 Dec 2008 14:46:47 +0100
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?