diff options
author | Michael Vogt <mvo@debian.org> | 2013-10-07 13:42:50 +0200 |
---|---|---|
committer | Michael Vogt <mvo@debian.org> | 2013-10-07 13:42:50 +0200 |
commit | 3286ad136cbfdb73b97f880ba1ad19a2000781c5 (patch) | |
tree | 262a7cecb0d998ee9e4f44ae72a690d32b410eb8 /apt-inst/contrib | |
parent | 0fa3c89c9e5c2c61a70c714ef8e4ac9d2b7d6ae1 (diff) | |
download | apt-3286ad136cbfdb73b97f880ba1ad19a2000781c5.tar.gz |
fix libapt-inst for >2G debs (closes: #725483)
Diffstat (limited to 'apt-inst/contrib')
-rw-r--r-- | apt-inst/contrib/arfile.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/apt-inst/contrib/arfile.cc b/apt-inst/contrib/arfile.cc index d7ee528ba..9d84c1784 100644 --- a/apt-inst/contrib/arfile.cc +++ b/apt-inst/contrib/arfile.cc @@ -64,7 +64,7 @@ ARArchive::~ARArchive() byte plain text header then the file data, another header, data, etc */ bool ARArchive::LoadHeaders() { - signed long Left = File.Size(); + off_t Left = File.Size(); // Check the magic byte char Magic[8]; @@ -123,7 +123,7 @@ bool ARArchive::LoadHeaders() } // Account for the AR header alignment - unsigned Skip = Memb->Size % 2; + off_t Skip = Memb->Size % 2; // Add it to the list Memb->Next = List; @@ -131,7 +131,7 @@ bool ARArchive::LoadHeaders() Memb->Start = File.Tell(); if (File.Skip(Memb->Size + Skip) == false) return false; - if (Left < (signed)(Memb->Size + Skip)) + if (Left < (off_t)(Memb->Size + Skip)) return _error->Error(_("Archive is too short")); Left -= Memb->Size + Skip; } |