Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP5:Update
python-Pillow.33206
CVE-2024-28219.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File CVE-2024-28219.patch of Package python-Pillow.33206
From 2a93aba5cfcf6e241ab4f9392c13e3b74032c061 Mon Sep 17 00:00:00 2001 From: Andrew Murray <radarhere@users.noreply.github.com> Date: Thu, 22 Feb 2024 18:56:26 +1100 Subject: [PATCH] Use strncpy to avoid buffer overflow --- Tests/icc/sGrey-v2-nano.icc | Bin 0 -> 290 bytes Tests/test_imagecms.py | 5 +++++ src/_imagingcms.c | 9 ++++----- 3 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 Tests/icc/sGrey-v2-nano.icc Index: Pillow-9.5.0/Tests/test_imagecms.py =================================================================== --- Pillow-9.5.0.orig/Tests/test_imagecms.py +++ Pillow-9.5.0/Tests/test_imagecms.py @@ -627,6 +627,11 @@ def test_constants_deprecation(): assert getattr(ImageCms, prefix + name) == enum[name] +def test_long_modes() -> None: + p = ImageCms.getOpenProfile("Tests/icc/sGrey-v2-nano.icc") + ImageCms.buildTransform(p, p, "ABCDEFGHI", "ABCDEFGHI") + + @pytest.mark.parametrize("mode", ("RGB", "RGBA", "RGBX")) def test_rgb_lab(mode): im = Image.new(mode, (1, 1)) Index: Pillow-9.5.0/src/_imagingcms.c =================================================================== --- Pillow-9.5.0.orig/src/_imagingcms.c +++ Pillow-9.5.0/src/_imagingcms.c @@ -201,8 +201,8 @@ cms_transform_new(cmsHTRANSFORM transfor self->transform = transform; - strcpy(self->mode_in, mode_in); - strcpy(self->mode_out, mode_out); + strncpy(self->mode_in, mode_in, 8); + strncpy(self->mode_out, mode_out, 8); return (PyObject *)self; } @@ -242,10 +242,9 @@ findLCMStype(char *PILmode) { // LabX equivalent like ALab, but not reversed -- no #define in lcms2 return (COLORSPACE_SH(PT_LabV2) | CHANNELS_SH(3) | BYTES_SH(1) | EXTRA_SH(1)); } - else { - /* take a wild guess... but you probably should fail instead. */ - return TYPE_GRAY_8; /* so there's no buffer overrun... */ + /* take a wild guess... */ + return TYPE_GRAY_8; } }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor