Make ImageFile load images in read-only mode

The code path for mmapped files unnecessarily loaded images in
read-write mode and had a long standing FIXME message. This patch
uses mmap.ACCESS_READ, which is platform independent to fix this
issue.
This commit is contained in:
Henrique Dante de Almeida 2016-04-15 12:54:47 -03:00
parent 72766b8f4e
commit a7c58303ca

View File

@ -163,10 +163,9 @@ class ImageFile(Image.Image):
else:
# use mmap, if possible
import mmap
fp = open(self.filename, "r+")
fp = open(self.filename, "r")
size = os.path.getsize(self.filename)
# FIXME: on Unix, use PROT_READ etc
self.map = mmap.mmap(fp.fileno(), size)
self.map = mmap.mmap(fp.fileno(), size, access=mmap.ACCESS_READ)
self.im = Image.core.map_buffer(
self.map, self.size, d, e, o, a
)