Bug#670401: Bug#673065: rred segfaults during apt-get update
On 2012-05-22 00:06:42 +0200, David Kalnischkies wrote:
> reassign 673065 libapt-pkg4.12
> reassign 670401 libapt-pkg4.12
> forcemerge 673065 670401
> tag 673065 + patch
> thanks
>
>
> So, after hitting it myself again while trying to work on something else
> (as always) here we go with my second try on fixing this
> (and this time i am reasonable sure that it is for real):
>
> === modified file 'apt-pkg/contrib/mmap.cc'
> --- apt-pkg/contrib/mmap.cc 2012-01-17 23:40:38 +0000
> +++ apt-pkg/contrib/mmap.cc 2012-05-21 17:12:25 +0000
> @@ -84,6 +84,7 @@
> 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;
>
> === modified file 'debian/changelog'
> --- debian/changelog 2012-05-21 14:50:52 +0000
> +++ debian/changelog 2012-05-21 17:12:25 +0000
> @@ -7,6 +7,10 @@
> * 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)
^^^^^^
This is not one of the bugs 554387, 670401, 673065. Is this an error
or are these bugs the same one, in which case a merge is missing?
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
Reply to: