]> git.saurik.com Git - apt.git/blobdiff - ftparchive/multicompress.h
fix memory leaks reported by -fsanitize
[apt.git] / ftparchive / multicompress.h
index 5496b06d02e18f09171aa4caa4949d65a46b1275..161716b866de76c1476ea443c8eacf0a6bdda2c4 100644 (file)
@@ -22,7 +22,8 @@
 #include <string>
 #include <stdio.h>
 #include <sys/types.h>
-    
+#include <time.h>
+
 class MultiCompress
 {
    // An output file
@@ -34,15 +35,12 @@ class MultiCompress
       FileFd TmpFile;
       pid_t CompressProc;
       time_t OldMTime;
-      int Fd;
    };
    
    Files *Outputs;
    pid_t Outputter;
    mode_t Permissions;
 
-   bool OpenCompress(APT::Configuration::Compressor const &Prog,
-                    pid_t &Pid,int const &FileFd, int &OutFd,bool const &Comp);
    bool Child(int const &Fd);
    bool Start();
    bool Die();
@@ -50,12 +48,11 @@ class MultiCompress
    public:
    
    // The FD to write to for compression.
-   FILE *Input;
+   FileFd Input;
    unsigned long UpdateMTime;
    
    bool Finalize(unsigned long long &OutSize);
-   bool OpenOld(int &Fd,pid_t &Proc);
-   bool CloseOld(int Fd,pid_t Proc);
+   bool OpenOld(FileFd &Fd);
    static bool GetStat(std::string const &Output,std::string const &Compress,struct stat &St);
    
    MultiCompress(std::string const &Output,std::string const &Compress,