diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index ad08da364c0..a86757e644f 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -163,7 +163,9 @@ def test_write_encoding_error_bad_dimension(self, tmp_path: Path) -> None: im = Image.new("L", (16384, 16384)) with pytest.raises(ValueError) as e: im.save(temp_file) - assert str(e.value) == "encoding error 5: Image size exceeds WebP limit" + assert ( + str(e.value) == "encoding error 5: Image size exceeds WebP limit of 16383" + ) def test_WebPEncode_with_invalid_args(self) -> None: """ diff --git a/src/_webp.c b/src/_webp.c index 0d2d6f023f8..a45366b79ea 100644 --- a/src/_webp.c +++ b/src/_webp.c @@ -673,9 +673,11 @@ WebPEncode_wrapper(PyObject *self, PyObject *args) { WebPPictureFree(&pic); if (!ok) { int error_code = (&pic)->error_code; - const char *message = ""; + static char message[50] = ""; if (error_code == VP8_ENC_ERROR_BAD_DIMENSION) { - message = ": Image size exceeds WebP limit"; + sprintf( + message, ": Image size exceeds WebP limit of %d", WEBP_MAX_DIMENSION + ); } PyErr_Format(PyExc_ValueError, "encoding error %d%s", error_code, message); return NULL;