]> git.saurik.com Git - apt.git/commit - apt-pkg/pkgcachegen.cc
do not segfault in cache generation on mmap failure
authorDavid Kalnischkies <david@kalnischkies.de>
Thu, 19 Nov 2015 23:54:07 +0000 (00:54 +0100)
committerDavid Kalnischkies <david@kalnischkies.de>
Thu, 19 Nov 2015 23:54:07 +0000 (00:54 +0100)
commit6789e01e9370b3b7f65d52138c5657eaa712b4d1
treecf0b9282cae981271918512f7af62da7dda4e64c
parent520624d562e54e8e2c0191fae723e668e3ece6b4
do not segfault in cache generation on mmap failure

Out of memory and similar circumstanzas could cause MMap::Map to fail
and especially the mmap/malloc calls in it. With some additional
checking we can avoid segfaults and similar in such situations – at
least in theory as if this is a real out of memory everything we do to
handle the error could just as well run into a memory problem as well…

But at least in theory (if MMap::Map is made to fail always) we can deal
with it so good that a user actually never sees a failure (as the cache
it tries to load with it fails and is discarded, so that DynamicMMap
takes over and a new one is build) instead of segfaulting.

Closes: 803417
apt-pkg/cachefile.cc
apt-pkg/contrib/mmap.cc
apt-pkg/pkgcachegen.cc