From a8efbdd4f97abe59a51d0f8ad71d4c48f7b178f1 Mon Sep 17 00:00:00 2001 From: Bruno Alassia Date: Fri, 8 Aug 2025 09:59:41 -0700 Subject: [PATCH 1/2] patch _imagingcms.c: use strncpy --- src/_imagingcms.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_imagingcms.c b/src/_imagingcms.c index ddfe6ad6486..a10c336feb8 100644 --- a/src/_imagingcms.c +++ b/src/_imagingcms.c @@ -201,8 +201,8 @@ cms_transform_new(cmsHTRANSFORM transform, char *mode_in, char *mode_out) { 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; } From c8a209af30511602cfe247f050b59c3f2dfbeae6 Mon Sep 17 00:00:00 2001 From: Bruno Alassia Date: Fri, 8 Aug 2025 11:12:18 -0700 Subject: [PATCH 2/2] add test as upstream --- Tests/test_imagecms.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Tests/test_imagecms.py b/Tests/test_imagecms.py index 66be02078ad..cd539d990ed 100644 --- a/Tests/test_imagecms.py +++ b/Tests/test_imagecms.py @@ -626,6 +626,9 @@ def test_constants_deprecation(): with pytest.warns(DeprecationWarning): 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):