From 405837e4cb54252abc78fa2d3b8af45656553ca9 Mon Sep 17 00:00:00 2001 From: Florian Levis Date: Wed, 28 Feb 2024 23:04:12 +0100 Subject: [PATCH 1/2] fix: add guards for MagickImage.Lower --- src/Magick.NET/MagickImage.cs | 6 +++++- tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs | 8 ++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Magick.NET/MagickImage.cs b/src/Magick.NET/MagickImage.cs index ca77cbc7c8..1e62ccfaab 100644 --- a/src/Magick.NET/MagickImage.cs +++ b/src/Magick.NET/MagickImage.cs @@ -3995,7 +3995,11 @@ public void LocalContrast(double radius, Percentage strength, Channels channels) /// The size of the edges. /// Thrown when an error is raised by ImageMagick. public void Lower(int size) - => _nativeInstance.RaiseOrLower(size, false); + { + Throw.IfNegative(nameof(size), size); + + _nativeInstance.RaiseOrLower(size, false); + } /// /// Magnify image by integral size. diff --git a/tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs b/tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs index 2ea52c0059..04815b7c78 100644 --- a/tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs +++ b/tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs @@ -1,6 +1,7 @@ // Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. // Licensed under the Apache License, Version 2.0. +using System; using ImageMagick; using Xunit; @@ -10,6 +11,13 @@ public partial class MagickImageTests { public class TheLowerMethod { + [Fact] + public void ShouldThrowExceptionWhenSizeIsNegative() + { + using var image = new MagickImage(Files.FujiFilmFinePixS1ProJPG); + Assert.Throws("width", () => image.Lower(-1)); + } + [Fact] public void ShouldDarkenTheEdges() { From 9016a733778348765425e17b810a777e77abc8ba Mon Sep 17 00:00:00 2001 From: Florian Levis Date: Thu, 29 Feb 2024 19:02:12 +0100 Subject: [PATCH 2/2] test: fix param name --- tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs b/tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs index 04815b7c78..0840d4896e 100644 --- a/tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs +++ b/tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs @@ -15,7 +15,7 @@ public class TheLowerMethod public void ShouldThrowExceptionWhenSizeIsNegative() { using var image = new MagickImage(Files.FujiFilmFinePixS1ProJPG); - Assert.Throws("width", () => image.Lower(-1)); + Assert.Throws("size", () => image.Lower(-1)); } [Fact]