Commit Graph

495 Commits

Author SHA1 Message Date
f3de2e77c1 jxl: adjust metadata size limits
Previously there was no limit for uncompressed metadata,
but when compressed metadata required buffer larger than 4MB,
image decoding stopped.

Now the plugin discards/skips metadata boxes larger than 8MB
without stopping image decoding.
If size of compressed box is above 8MB,
we do not attempt to decompress it.
File with compressed metadata could be rejected only in rare cases
when the decompression buffer grows above 32MB (four times 8M).
2026-02-13 15:44:39 +01:00
1ef779f370 RGB: fix a possible exception on the new 2026-02-12 13:42:58 +01:00
ebf77ccdf5 TGA: fix Undefined-shift 2026-02-09 23:02:06 +00:00
359cb039d2 PSD: improve conversion sanity checks 2026-02-09 22:50:51 +00:00
f4b91d8a54 IFF: fix compilation warnings 2026-02-09 22:46:04 +00:00
263b5a88e2 ANI: check for array allocation size 2026-02-09 08:41:40 +01:00
e0f1ba640a IFF: add uncompressed RGFX support 2026-01-27 13:58:01 +01:00
32773e5f0c IFF: add CD-i Rle7 support 2026-01-20 21:17:08 +00:00
2410e45614 Decode Atari ST VDAT chunks 2026-01-20 10:20:32 +01:00
99e4223393 IFF: add support for CD-i YUVS chunk (and minor code improvements) 2026-01-15 16:53:50 +01:00
8224c0099d Add support for CD-I IFF images 2026-01-14 16:53:19 +01:00
3353809906 jxl: fix crash on lossy gray images
There was a rare crash during decoding of some lossy gray images.
Problem was reported in https://github.com/libjxl/libjxl/issues/4549
This is a workaround which avoids JxlDecoderSetCms call.
2026-01-11 15:03:06 +01:00
6b1c52c55c avif: Improved color profiles support 2026-01-10 20:41:52 +00:00
8c9a7e88e5 avif: YCgCo-Re decoding fix 2025-12-26 00:47:46 +00:00
956b86c4de allocationLimit = 0 means no limit 2025-12-09 01:06:10 +01:00
5140567853 Fix various typos in the codebase
Fixes mostly source documentation, comments, and some user-facing typos.
Found via `codespell -q 3 -S "*.eps,*.raw" -L ahd,siz,widthn`
2025-12-05 10:41:17 +00:00
72a809bcfd XCF: initialize tiles and buffers 2025-11-22 12:45:46 +01:00
731ac375bb HDR: fix uninitialized buffer 2025-11-22 09:41:25 +01:00
8061500b79 PSD: add support for GrayA (8/16/32 bit) and Gray 32 bit 2025-11-21 06:24:53 +01:00
472ff92b96 PSD: fix use of uninitialized tmp image 2025-11-21 01:21:18 +00:00
847510f109 EXR: fix of uninitialized RGB read buffer 2025-11-20 07:36:49 +01:00
a8ad7be1cd RGB: fix Use-of-uninitialized-value 2025-11-19 11:05:36 +00:00
7202e77c74 HDR: readHeader() sanity checks 2025-11-18 16:56:46 +01:00
379c3c1738 PSD: return error if a complete line is read/decompressed 2025-11-17 14:38:07 +01:00
d3d4bea2f1 PSD: limit memory usage on corrupted files 2025-11-07 15:36:31 +01:00
cfbeb397a8 Fix assert on broken data
Change the isnan test to !isfinite. This way we include infinite numbers
too as not accepted
2025-11-05 23:16:03 +01:00
1c6ce2437e PSD: minor fixes while reading Image resource Section 2025-11-03 08:27:17 +01:00
e7d01c286f IFF: fix crash on malformed files 2025-10-31 09:07:40 +01:00
dfda863841 iff: Fix crash on malformed files
oss-fuzz/455510771
2025-10-28 00:50:06 +01:00
3d4d74fc02 PSD: improve sections size checks 2025-10-24 08:39:58 +02:00
326e56029a TGA: ignoring large metadata on dev area 2025-10-23 14:54:52 +02:00
e8e5b091bc Check device before read 2025-10-23 12:18:59 +02:00
aeb2988eec Fix possible infinite loop when reading a broken jp2 2025-10-23 11:59:39 +02:00
abfda2ce69 On demand buffer allocation on PCHG decompression 2025-10-23 07:58:58 +00:00
d6d67c7b8b Fix possible read overflow with malformed data 2025-10-23 08:23:57 +02:00
54c94764d1 Fix wrong palette check 2025-10-21 19:33:12 +02:00
7512874620 Use internal FP32 conversion instead of FP16 2025-10-18 05:43:08 +02:00
436310b4f0 Remove Qt version checks now that 6.8.0 is the minimum required 2025-10-16 20:20:35 +02:00
2b80a0a55a Fix assert on broken data
The nan eventually ends up in qRound inside Qt code.
That asserts because it doesn't know what to do with a nan
2025-10-14 23:55:59 +02:00
4c52480b73 tga: Reduce Warning to Debug
It happens that apps have an unknown source and ask if they can read it,
we should not show a weird warning to the user
2025-10-12 15:14:41 +02:00
19faa55a6d Fix crash on malformed files 2025-10-10 09:03:18 +02:00
b9bfeedbc1 Fix crash on malformed files 2025-10-06 01:04:40 +02:00
1ca7baed98 Fix assert on broken data
The nan eventually ends up in qRound inside Qt code.
That asserts because it doesn't know what to do with a nan
2025-10-02 01:02:08 +02:00
f1b0c9f0ec add const so we know that QImage is not being modified 2025-10-01 19:15:10 +02:00
a457e5ddcb Limits the max RAW size to 300000x300000 pixels 2025-09-21 15:13:17 +02:00
f28cd98661 Limits the max DDS size to 300000x300000 pixels 2025-09-21 11:28:45 +02:00
05c3a1afe6 Fix compilation failure with Qt 6.7 2025-09-20 13:37:52 +08:00
fda751c641 Switch all plugins to QLoggingCategory 2025-09-19 10:00:26 +02:00
a4e18734bd Resolution calculations performed by functions
Added functions for dpi <-> ppm transformations and used in all plugins.
2025-09-17 12:22:44 +02:00
c36b4e2350 Use std::lround instead of qRound
qRound will assert if the resulting integer is out of range, by using
lround we can ask if the rounding range failed
2025-09-11 13:50:50 +02:00