Fixed bug in SparseBlock which caused a segfault in sparse_extra_3 test
diff --git a/Eigen/src/SparseCore/SparseBlock.h b/Eigen/src/SparseCore/SparseBlock.h
index f8b9d5a..9e4da20 100644
--- a/Eigen/src/SparseCore/SparseBlock.h
+++ b/Eigen/src/SparseCore/SparseBlock.h
@@ -466,10 +466,8 @@
     inline GenericSparseBlockInnerIteratorImpl& operator++()

     {

       // search next non-zero entry

-      while(m_outerPos<m_end)

+      while(++m_outerPos<m_end)

       {

-        m_outerPos++;

-        if(m_outerPos==m_end) break;

         typename XprType::InnerIterator it(m_block.m_matrix, m_outerPos);

         // search for the key m_innerIndex in the current outer-vector

         while(it && it.index() < m_innerIndex) ++it;

@@ -580,9 +578,8 @@
   inline OuterVectorInnerIterator& operator++()

   {

     // search next non-zero entry

-    while(m_outerPos<m_end)

+    while(++m_outerPos<m_end)

     {

-      m_outerPos++;

       EvalIterator it(m_eval.m_argImpl, m_outerPos);

       // search for the key m_innerIndex in the current outer-vector

       while(it && it.index() < m_innerIndex) ++it;