mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-25 17:36:18 +03:00
Merge pull request #6842 from radarhere/zero
Return from ImagingFill early if image has a zero dimension
This commit is contained in:
commit
7b0008bb82
2
.github/workflows/test-valgrind.yml
vendored
2
.github/workflows/test-valgrind.yml
vendored
|
@ -48,5 +48,5 @@ jobs:
|
|||
run: |
|
||||
# The Pillow user in the docker container is UID 1000
|
||||
sudo chown -R 1000 $GITHUB_WORKSPACE
|
||||
docker run --name pillow_container -v $GITHUB_WORKSPACE:/Pillow pythonpillow/${{ matrix.docker }}:${{ matrix.dockerTag }}
|
||||
docker run --name pillow_container -e "PILLOW_VALGRIND_TEST=true" -v $GITHUB_WORKSPACE:/Pillow pythonpillow/${{ matrix.docker }}:${{ matrix.dockerTag }}
|
||||
sudo chown -R runner $GITHUB_WORKSPACE
|
||||
|
|
|
@ -286,6 +286,7 @@ def test_pdf_append_to_bytesio():
|
|||
|
||||
|
||||
@pytest.mark.timeout(1)
|
||||
@pytest.mark.skipif("PILLOW_VALGRIND_TEST" in os.environ, reason="Valgrind is slower")
|
||||
@pytest.mark.parametrize("newline", (b"\r", b"\n"))
|
||||
def test_redos(newline):
|
||||
malicious = b" trailer<<>>" + newline * 3456
|
||||
|
|
|
@ -512,6 +512,14 @@ class TestImage:
|
|||
i = Image.new("RGB", [1, 1])
|
||||
assert isinstance(i.size, tuple)
|
||||
|
||||
@pytest.mark.timeout(0.75)
|
||||
@pytest.mark.skipif(
|
||||
"PILLOW_VALGRIND_TEST" in os.environ, reason="Valgrind is slower"
|
||||
)
|
||||
@pytest.mark.parametrize("size", ((0, 100000000), (100000000, 0)))
|
||||
def test_empty_image(self, size):
|
||||
Image.new("RGB", size)
|
||||
|
||||
def test_storage_neg(self):
|
||||
# Storage.c accepted negative values for xsize, ysize. Was
|
||||
# test_neg_ppm, but the core function for that has been
|
||||
|
|
|
@ -24,6 +24,11 @@ ImagingFill(Imaging im, const void *colour) {
|
|||
int x, y;
|
||||
ImagingSectionCookie cookie;
|
||||
|
||||
/* 0-width or 0-height image. No need to do anything */
|
||||
if (!im->linesize || !im->ysize) {
|
||||
return im;
|
||||
}
|
||||
|
||||
if (im->type == IMAGING_TYPE_SPECIAL) {
|
||||
/* use generic API */
|
||||
ImagingAccess access = ImagingAccessNew(im);
|
||||
|
|
Loading…
Reference in New Issue
Block a user