Просмотр исходного кода

* apt-pkg/deb/dpkgpm.cc:
- fix segfault on pkg removal

Michael Vogt лет назад: 14
Родитель
Сommit
7720666fba
2 измененных файлов с 13 добавлено и 1 удалено
  1. 5 1
      apt-pkg/deb/dpkgpm.cc
  2. 8 0
      debian/changelog

+ 5 - 1
apt-pkg/deb/dpkgpm.cc

@@ -1090,8 +1090,12 @@ bool pkgDPkgPM::Go(int OutStatusFd)
 	    }
 	    else
 	    {
+	       pkgCache::VerIterator PkgVer;
 	       std::string name = I->Pkg.Name();
-	       pkgCache::VerIterator PkgVer = Cache[I->Pkg].InstVerIter(Cache);
+	       if (Op == Item::Remove || Op == Item::Purge)
+                  PkgVer = I->Pkg.CurrentVer();
+	       else
+                  PkgVer = Cache[I->Pkg].InstVerIter(Cache);
 	       name.append(":").append(PkgVer.Arch());
 	       char * const fullname = strdup(name.c_str());
 	       Packages.push_back(fullname);

+ 8 - 0
debian/changelog

@@ -1,3 +1,11 @@
+apt (0.8.16~exp12) experimental; urgency=low
+
+  [ Michael Vogt ]
+  * apt-pkg/deb/dpkgpm.cc:
+    - fix segfault on pkg removal
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 19 Jan 2012 16:28:03 +0100
+
 apt (0.8.16~exp11) experimental; urgency=low
 
   [ David Kalnischkies ]