]> git.saurik.com Git - apt.git/blobdiff - ftparchive/contents.h
Fix double free (closes: #711045)
[apt.git] / ftparchive / contents.h
index 5b5092b66b167dfd93fc84ac5ccf588807612bd1..4af9db574b79168f41d5e6a3f097443855287bd4 100644 (file)
     
 #include <stdlib.h>
 #include <stdio.h>
-#include <apt-pkg/debfile.h>
 #include <apt-pkg/dirstream.h>
 
+class debDebFile;
+
 class GenContents
 {
    struct Node
@@ -71,16 +72,16 @@ class ContentsExtract : public pkgDirStream
 
    // The Data Block
    char *Data;
-   unsigned long MaxSize;
-   unsigned long CurSize;
+   unsigned long long MaxSize;
+   unsigned long long CurSize;
    void AddData(const char *Text);
    
    bool Read(debDebFile &Deb);
    
    virtual bool DoItem(Item &Itm,int &Fd);      
    void Reset() {CurSize = 0;};
-   bool TakeContents(const void *Data,unsigned long Length);
-   void Add(GenContents &Contents,string const &Package);
+   bool TakeContents(const void *Data,unsigned long long Length);
+   void Add(GenContents &Contents,std::string const &Package);
    
    ContentsExtract() : Data(0), MaxSize(0), CurSize(0) {};
    virtual ~ContentsExtract() {delete [] Data;};