]> git.saurik.com Git - apt.git/commitdiff
* apt-pkg/cacheiterators.h:
authorMichael Vogt <michael.vogt@ubuntu.com>
Mon, 22 Sep 2008 12:56:35 +0000 (14:56 +0200)
committerMichael Vogt <michael.vogt@ubuntu.com>
Mon, 22 Sep 2008 12:56:35 +0000 (14:56 +0200)
  - add missing checks for Owner == 0 in end()

apt-pkg/cacheiterators.h
debian/changelog

index 08eafca0f44db8e722299e68307b9f887e0b6dd9..bbbcb7753d60e04d9fa56ea4f027486aa0c8eb37 100644 (file)
@@ -104,7 +104,7 @@ class pkgCache::VerIterator
    // Iteration
    void operator ++(int) {if (Ver != Owner->VerP) Ver = Owner->VerP + Ver->NextVer;};
    inline void operator ++() {operator ++(0);};
-   inline bool end() const {return Owner == NULL || (Ver == Owner->VerP?true:false);};
+   inline bool end() const {return Owner == 0 || (Ver == Owner->VerP?true:false);};
    inline void operator =(const VerIterator &B) {Ver = B.Ver; Owner = B.Owner;};
    
    // Comparison
@@ -160,7 +160,7 @@ class pkgCache::DescIterator
    // Iteration
    void operator ++(int) {if (Desc != Owner->DescP) Desc = Owner->DescP + Desc->NextDesc;};
    inline void operator ++() {operator ++(0);};
-   inline bool end() const {return Desc == Owner->DescP?true:false;};
+   inline bool end() const {return Owner == 0 || Desc == Owner->DescP?true:false;};
    inline void operator =(const DescIterator &B) {Desc = B.Desc; Owner = B.Owner;};
    
    // Comparison
@@ -314,7 +314,7 @@ class pkgCache::PkgFileIterator
    // Iteration
    void operator ++(int) {if (File!= Owner->PkgFileP) File = Owner->PkgFileP + File->NextFile;};
    inline void operator ++() {operator ++(0);};
-   inline bool end() const {return File == Owner->PkgFileP?true:false;};
+   inline bool end() const {return Owner == 0 || File == Owner->PkgFileP?true:false;};
 
    // Comparison
    inline bool operator ==(const PkgFileIterator &B) const {return File == B.File;};
@@ -360,7 +360,7 @@ class pkgCache::VerFileIterator
    // Iteration
    void operator ++(int) {if (FileP != Owner->VerFileP) FileP = Owner->VerFileP + FileP->NextFile;};
    inline void operator ++() {operator ++(0);};
-   inline bool end() const {return FileP == Owner->VerFileP?true:false;};
+   inline bool end() const {return Owner == 0 || FileP == Owner->VerFileP?true:false;};
 
    // Comparison
    inline bool operator ==(const VerFileIterator &B) const {return FileP == B.FileP;};
@@ -392,7 +392,7 @@ class pkgCache::DescFileIterator
    // Iteration
    void operator ++(int) {if (FileP != Owner->DescFileP) FileP = Owner->DescFileP + FileP->NextFile;};
    inline void operator ++() {operator ++(0);};
-   inline bool end() const {return FileP == Owner->DescFileP?true:false;};
+   inline bool end() const {return Owner == 0 ||  FileP == Owner->DescFileP?true:false;};
 
    // Comparison
    inline bool operator ==(const DescFileIterator &B) const {return FileP == B.FileP;};
index cc3dc794dab13e6c50cd1b18d1f43f647e13e84e..d38b04da2cfb94e848d3a3d9958bd6d6b26f115c 100644 (file)
@@ -40,6 +40,8 @@ apt (0.7.15) UNRELEASED; urgency=low
       of variables (LP: #56792)
   * doc/makefile:
     - add examples/apt-https-method-example.conf
+  * apt-pkg/cacheiterators.h:
+    - add missing checks for Owner == 0 in end()
   
   [ Dereck Wonnacott ]
   * apt-ftparchive might write corrupt Release files (LP: #46439)