Raise ValueError during filter operation as well

This commit is contained in:
Andrew Murray 2023-01-11 20:02:10 +11:00
parent 08c7b17e23
commit 173b65d095
2 changed files with 9 additions and 0 deletions

View File

@ -179,3 +179,9 @@ def test_consistency_5x5(mode):
def test_invalid_box_blur_filter():
with pytest.raises(ValueError):
ImageFilter.BoxBlur(-2)
im = hopper()
box_blur_filter = ImageFilter.BoxBlur(2)
box_blur_filter.radius = -2
with pytest.raises(ValueError):
im.filter(box_blur_filter)

View File

@ -237,6 +237,9 @@ ImagingBoxBlur(Imaging imOut, Imaging imIn, float radius, int n) {
if (n < 1) {
return ImagingError_ValueError("number of passes must be greater than zero");
}
if (radius < 0) {
return ImagingError_ValueError("radius must be >= 0");
}
if (strcmp(imIn->mode, imOut->mode) || imIn->type != imOut->type ||
imIn->bands != imOut->bands || imIn->xsize != imOut->xsize ||