diff --git a/lapack/getf2/getf2_k.c b/lapack/getf2/getf2_k.c index 75c258bda..073a0251d 100644 --- a/lapack/getf2/getf2_k.c +++ b/lapack/getf2/getf2_k.c @@ -94,6 +94,7 @@ blasint CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, GEMV_N(m - j, j, 0, dm1, a + j, lda, b, 1, b + j, 1, sb); jp = j + IAMAX_K(m - j, b + j, 1); + if (jp>m) jp = m; //avoid out of boundary ipiv[j + offset] = jp + offset; jp--; temp1 = *(b + jp); diff --git a/lapack/getf2/zgetf2_k.c b/lapack/getf2/zgetf2_k.c index 9bf47bcce..512adf8ba 100644 --- a/lapack/getf2/zgetf2_k.c +++ b/lapack/getf2/zgetf2_k.c @@ -98,6 +98,7 @@ blasint CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, GEMV_N(m - j, j, 0, dm1, ZERO, a + j * 2, lda, b, 1, b + j * 2, 1, sb); jp = j + IAMAX_K(m - j, b + j * 2, 1); + if (jp>m) jp = m; //avoid out of boundary ipiv[j + offset] = jp + offset; jp--;