--- matrix_sparse.hpp_gw 2005-05-02 10:16:54.000000000 +0200 +++ matrix_sparse.hpp 2005-05-02 11:03:02.000000000 +0200 @@ -2658,7 +2658,6 @@ if (preserve) { index2_data_.resize (capacity_, size_type ()); value_data_.resize (capacity_, value_type ()); - filled1_ = (std::min) (capacity_ + 1, filled1_); filled2_ = (std::min) (capacity_, filled2_); } else { @@ -3796,7 +3795,7 @@ BOOST_UBLAS_CHECK (layout_type::size1 (size1_, size2_) + 1 == index1_data_.size (), internal_logic ()); BOOST_UBLAS_CHECK (capacity_ == index2_data_.size (), internal_logic ()); BOOST_UBLAS_CHECK (capacity_ == value_data_.size (), internal_logic ()); - BOOST_UBLAS_CHECK (filled1_ > 0 && filled1_ <= capacity_ + 1, internal_logic ()); + BOOST_UBLAS_CHECK (filled1_ > 0 && filled1_ <= layout_type::size1 (size1_, size2_) + 1, internal_logic ()); BOOST_UBLAS_CHECK (filled2_ <= capacity_, internal_logic ()); BOOST_UBLAS_CHECK (index1_data_ [filled1_ - 1] == k_based (filled2_), internal_logic ()); }