summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2012-05-21 19:12:25 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2012-05-21 19:12:25 +0200
commit6bae2c5108a95267fedcc8f2312e91488ebece8d (patch)
tree7acfa39bce6588b78ec347b3ea7ee398037159fb
parent65bf851838611139239805bee63a7cea4cb0a309 (diff)
* apt-pkg/contrib/mmap.cc:
- have a dummy SyncToFd around in case of ReadOnly access to a compressed file as we otherwise on Close() do not delete[] the char buffer but munmap() it… (Closes: #673815)
-rw-r--r--apt-pkg/contrib/mmap.cc1
-rw-r--r--debian/changelog4
2 files changed, 5 insertions, 0 deletions
diff --git a/apt-pkg/contrib/mmap.cc b/apt-pkg/contrib/mmap.cc
index 160718ea5..2d12b6fe9 100644
--- a/apt-pkg/contrib/mmap.cc
+++ b/apt-pkg/contrib/mmap.cc
@@ -84,6 +84,7 @@ bool MMap::Map(FileFd &Fd)
if ((Flags & ReadOnly) != ReadOnly)
return _error->Error("Compressed file %s can only be mapped readonly", Fd.Name().c_str());
Base = new unsigned char[iSize];
+ SyncToFd = new FileFd();
if (Fd.Seek(0L) == false || Fd.Read(Base, iSize) == false)
return _error->Error("Compressed file %s can't be read into mmap", Fd.Name().c_str());
return true;
diff --git a/debian/changelog b/debian/changelog
index b23232c7b..1b58bcd29 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,10 @@ apt (0.9.5) UNRELEASED; urgency=low
* buildlib/inttypes.h.in:
- remove inttypes.h compatibility as providing such a c99 types
compatibility conflicts with the usage of c99 type long long
+ * apt-pkg/contrib/mmap.cc:
+ - have a dummy SyncToFd around in case of ReadOnly access to a
+ compressed file as we otherwise on Close() do not delete[] the
+ char buffer but munmap() it… (Closes: #673815)
-- David Kalnischkies <kalnischkies@gmail.com> Mon, 21 May 2012 15:10:49 +0200