diff libcruft/arpack/src/sneupd.f @ 12277:3d38b4916cbf release-3-4-x

avoid memory overrun in ARPACK
author David Bateman <dbateman@free.fr>
date Fri, 28 Jan 2011 14:05:34 -0500
parents 9f5d2ef078e8
children
line wrap: on
line diff
--- a/libcruft/arpack/src/sneupd.f	Fri Jan 28 14:05:30 2011 -0500
+++ b/libcruft/arpack/src/sneupd.f	Fri Jan 28 14:05:34 2011 -0500
@@ -353,7 +353,7 @@
      &           mode  , msglvl, outncv, ritzr   ,
      &           ritzi , wri   , wrr   , irr     ,
      &           iri   , ibd   , ishift, numcnv  ,
-     &           np    , jj 
+     &           np    , jj    , nconv2
       logical    reord
       Real 
      &           conds  , rnorm, sep  , temp,
@@ -661,11 +661,15 @@
      &                   workl(iuptri), ldh          , 
      &                   workl(invsub), ldq          , 
      &                   workl(iheigr), workl(iheigi), 
-     &                   nconv        , conds        ,
+     &                   nconv2       , conds        ,
      &                   sep          , workl(ihbds) , 
      &                   ncv          , iwork        ,
      &                   1            , ierr)
 c
+            if (nconv2 .lt. nconv) then
+               nconv = nconv2
+            end if
+
             if (ierr .eq. 1) then
                info = 1
                go to 9000