Package: gdk-pixbuf / 2.42.2+dfsg-1+deb11u2
Metadata
| Package | Version | Patches format |
|---|---|---|
| gdk-pixbuf | 2.42.2+dfsg-1+deb11u2 | 3.0 (quilt) |
Patch series
view the series file| Patch | File delta | Description |
|---|---|---|
| Make enum GType registration thread safe.patch | (download) |
gdk-pixbuf/gdk-pixbuf-enum-types.c.template |
10 6 + 4 - 0 ! |
make enum gtype registration thread safe Use g_once_init_enter/leave to ensure that enumeration types can be registered across threads. |
| tests Fix some memory leaks.patch | (download) |
tests/test-common.c |
4 3 + 1 - 0 ! |
tests: fix some memory leaks This is enough to make many of the tests pass under gcc's AddressSanitizer. pixbuf-randomly-modified still fails when it cannot allocate more memory, and pixbuf-fail fails with memory allocation errors unless run with ASAN_OPTIONS=allocator_may_return_null=1. Signed-off-by: Simon McVittie <smcv@debian.org> |
| Update Romanian translation.patch | (download) |
po/ro.po |
455 223 + 232 - 0 ! |
update romanian translation |
| build Do not install .test files when test is skipped.patch | (download) |
tests/meson.build |
45 23 + 22 - 0 ! |
build: do not install .test files when test is skipped The skipping prevented the executable from being installed but not the .test file that referenced it. This caused installed tests to fail: Running test: gdk-pixbuf/pixbuf-pixdata.test Caught exception during testing: Failed to execute child process ?/nix/store/kqmj2776mw24qxyswfbqlmybpws4g4yn-gdk-pixbuf-2.42.0-installedTests/libexec/installed-tests/gdk-pixbuf/pixbuf-pixdata? (No such file or directory) |
| gif Do all of gif_init with a single read.patch | (download) |
gdk-pixbuf/io-gif.c |
27 14 + 13 - 0 ! |
gif: do all of gif_init() with a single read As documented in the introductory comment, the interface of the various functions in the GIF loader is that they read all the bytes they need, or return -1 if not enough are available. Since commit 5212d69f "gif: Replace old buffer management code with GByteArray", the incremental loader strictly depends on that assumption. Unfortunately, gif_init() didn't conform to that interface. If there were enough bytes available for the GIF signature (GIF87a or GIF89a) but not enough bytes for the screen descriptor, it would return -1 having already consumed the first 6 bytes of the stream. A subsequent retry with more data available would start from the beginning of the screen descriptor, and immediately raise an error because the screen descriptor is extremely unlikely to start with another copy of the "GIF8" magic number. The regression test tests/pixbuf-short-gif-write.c would have detected this, but was accidentally disabled by commit 7f0b214a "tests: Conditionally build and run tests". This seems most easily fixed by reading the whole of the 13-byte fixed-length header in one go. Adjust the offsets into the buffer used to parse the screen descriptor accordingly. Signed-off-by: Simon McVittie <smcv@debian.org> |
| tests Don t check whether bmp and gif loaders are enabled.patch | (download) |
tests/meson.build |
5 1 + 4 - 0 ! |
tests: don't check whether bmp and gif loaders are enabled This is conceptually similar to commit 2fd7d21f "tests: Fix GIF tests being permanently disabled". One way or another, gdk-pixbuf always supports these two formats: on Windows with the native gdiplus loader enabled, it covers these two formats; otherwise, format-specific loaders are used. This means we will run the GIF tests, as intended. Fixes: 7f0b214a "tests: Conditionally build and run tests" Signed-off-by: Simon McVittie <smcv@debian.org> |
| Skip test for GNOME 753605.patch | (download) |
tests/meson.build |
1 0 + 1 - 0 ! |
skip test for gnome#753605 It relies on a non-free JPEG that happens to exhibit the bug, which is excluded from the Debian source package. |
| tests Mark pixbuf randomly modified as flaky.patch | (download) |
tests/meson.build |
2 1 + 1 - 0 ! |
tests: mark pixbuf-randomly-modified as flaky This is basically a crude fuzzer. It isn't really suitable for build-time acceptance testing, since it frequently produces images for which gdk-pixbuf will try to allocate more memory than is available, but if it does, it isn't straightforward to capture the failing image from an autobuilder that only records build logs. Bug: https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/146 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942124 Signed-off-by: Simon McVittie <smcv@debian.org> |
| gif Check for overflow when compositing or clearing .patch | (download) |
gdk-pixbuf/io-gif-animation.c |
21 13 + 8 - 0 ! |
gif: check for overflow when compositing or clearing frames. |
| Add an assertion that checks for maximum LZW code si.patch | (download) |
gdk-pixbuf/lzw.c |
2 2 + 0 - 0 ! |
add an assertion that checks for maximum lzw code size |
| Fix the check for maximum value of LZW initial code .patch | (download) |
gdk-pixbuf/io-gif.c |
4 2 + 2 - 0 ! |
fix the check for maximum value of lzw initial code size. |
| CVE 2022 48622 1.patch | (download) |
gdk-pixbuf/io-ani.c |
9 9 + 0 - 0 ! |
ani: reject files with multiple anih chunks An anih chunk causes us to initialize a bunch of state, which we only expect to do once per file. Fixes: #202 Fixes: CVE-2022-48622 (cherry picked from commit 00c071dd11f723ca608608eef45cb1aa98da89cc) tests/test-images/fail/CVE-2022-48622.ani was committed separately to allow this patch to be text instead of binary |
| CVE 2022 48622 2.patch | (download) |
gdk-pixbuf/io-ani.c |
4 2 + 2 - 0 ! |
ani: reject files with multiple inam or iart chunks There should be at most one chunk each. These would cause memory leaks otherwise. |
| CVE 2022 48622 3.patch | (download) |
gdk-pixbuf/io-ani.c |
8 8 + 0 - 0 ! |
ani: validate anih chunk size Before reading a chunk, we verify that enough bytes are available to match the chunk size declared by the file. However, uniquely, the anih chunk loader doesn't verify that this size matches the number of bytes it actually intends to read. Thus, if the chunk size is too small and the file ends in the middle of the chunk, we populate some context fields with stack garbage. (But we'd still fail later on because the file doesn't contain any images.) Fix this. |
