* apt-pkg/depcache.cc:
authorDavid Kalnischkies <kalnischkies@gmail.com>
Sat, 29 May 2010 17:02:32 +0000 (19:02 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Sat, 29 May 2010 17:02:32 +0000 (19:02 +0200)
  - correct "Dangerous iterator usage." pointed out by cppcheck

apt-pkg/depcache.cc
debian/changelog

index afec7ba..6c73b9c 100644 (file)
@@ -806,7 +806,7 @@ void pkgDepCache::Update(OpProgress *Prog)
                a bit we increase with a kill, but we should do something more clever… */
       while(recheck.empty() == false)
         for (std::set<unsigned long>::const_iterator p = recheck.begin();
-            p != recheck.end(); ++p) {
+            p != recheck.end();) {
            if (Prog != 0 && Done%20 == 0)
               Prog->Progress(Done);
            PkgIterator P = PkgIterator(*Cache, Cache->PkgP + *p);
@@ -814,7 +814,7 @@ void pkgDepCache::Update(OpProgress *Prog)
               ++killed;
               ++Done;
            }
-           recheck.erase(p);
+           recheck.erase(p++);
         }
 
       /* Okay, we have killed a great amount of pseudopackages -
@@ -849,7 +849,7 @@ void pkgDepCache::Update(OpProgress *Prog)
         unsigned long const G = *g;
         recheck.erase(g);
         if (unlikely(ReInstallPseudoForGroup(G, recheck) == false))
-           _error->Warning(_("Internal error, group '%s' has no installable pseudo package"), GrpIterator(*Cache, Cache->GrpP + *g).Name());
+           _error->Warning(_("Internal error, group '%s' has no installable pseudo package"), GrpIterator(*Cache, Cache->GrpP + G).Name());
       }
    }
 
index 839c8c8..e8c1f95 100644 (file)
@@ -18,8 +18,10 @@ apt (0.7.26~exp6) UNRELEASED; urgency=low
     - do not try PDiff if it is not listed in the Meta file
   * apt-pkg/cacheiterator.h:
     - let pkgCache::Iterator inherent std::iterator
+  * apt-pkg/depcache.cc:
+    - correct "Dangerous iterator usage." pointed out by cppcheck
 
- -- David Kalnischkies <kalnischkies@gmail.com>  Sat, 29 May 2010 15:39:07 +0200
+ -- David Kalnischkies <kalnischkies@gmail.com>  Sat, 29 May 2010 19:02:12 +0200
 
 apt (0.7.26~exp5) experimental; urgency=low