diff options
| author | jvoisin | 2018-09-09 19:09:05 +0200 |
|---|---|---|
| committer | jvoisin | 2018-09-09 19:09:05 +0200 |
| commit | de65f4f4d44d7961d1d6cd37b4fe7b5f78c03ea3 (patch) | |
| tree | 9d99e6942e5d7cce1c06da5498dc276b1001b866 /libmat2/images.py | |
| parent | 759efa03eee95e670e0da78f8119a2870c13a6bc (diff) | |
Improve the resilience of MAT2 wrt. corrupted PNG
Diffstat (limited to 'libmat2/images.py')
| -rw-r--r-- | libmat2/images.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libmat2/images.py b/libmat2/images.py index 837f015..03121e1 100644 --- a/libmat2/images.py +++ b/libmat2/images.py | |||
| @@ -62,6 +62,10 @@ class PNGParser(_ImageParser): | |||
| 62 | 62 | ||
| 63 | def __init__(self, filename): | 63 | def __init__(self, filename): |
| 64 | super().__init__(filename) | 64 | super().__init__(filename) |
| 65 | |||
| 66 | if imghdr.what(filename) != 'png': | ||
| 67 | raise ValueError | ||
| 68 | |||
| 65 | try: # better fail here than later | 69 | try: # better fail here than later |
| 66 | cairo.ImageSurface.create_from_png(self.filename) | 70 | cairo.ImageSurface.create_from_png(self.filename) |
| 67 | except MemoryError: | 71 | except MemoryError: |
