diff --git a/src/Cuemon.Core/Eradicate.cs b/src/Cuemon.Core/Eradicate.cs index 5f5eb2849..bc36ebaa7 100644 --- a/src/Cuemon.Core/Eradicate.cs +++ b/src/Cuemon.Core/Eradicate.cs @@ -63,7 +63,7 @@ private static bool HasMatch(int index, byte[] bytes, byte[] trailingBytes) var match = true; for (var i = 0; i < trailingBytes.Length; i++) { - match &= trailingBytes[i] == bytes[index - i]; + if (trailingBytes[i] != bytes[index - i]) { match = false; } } return match; } diff --git a/test/Cuemon.Core.Tests/EradicateTest.cs b/test/Cuemon.Core.Tests/EradicateTest.cs index 0c6613745..0566ae371 100644 --- a/test/Cuemon.Core.Tests/EradicateTest.cs +++ b/test/Cuemon.Core.Tests/EradicateTest.cs @@ -49,6 +49,16 @@ public void TrailingBytes_WithRepeatedTrailingPattern_RemovesAllTrailingPatterns Assert.Equal(new byte[] { 1, 2 }, sut); } + [Theory] + [InlineData(new byte[] { 1, 2, 3 }, new byte[] { 1, 2 })] + [InlineData(new byte[] { 1, 2, 4 }, new byte[] { 1, 2, 4 })] + public void TrailingBytes_ShouldReturnExpectedBytes_WhenTrailingByteMatchesOrDiffers(byte[] bytes, byte[] expected) + { + var sut = Eradicate.TrailingBytes(bytes, new byte[] { 3 }); + + Assert.Equal(expected, sut); + } + [Fact] public void TrailingBytes_WithoutTrailingPattern_ReturnsSameInstance() {