Skip to content

Commit

Permalink
MSHARED-1130: Sanitised value nullability in match(Pattern, boolean, …
Browse files Browse the repository at this point in the history
…String)
  • Loading branch information
andrzejj0 committed Sep 8, 2022
1 parent 37ea472 commit 0e88be9
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -650,7 +650,7 @@ public boolean matches( Artifactoid artifactoid )
private static boolean match( final String pattern, final boolean containsAsterisk, final String value )
{
char[] patArr = pattern.toCharArray();
char[] strArr = value.toCharArray();
char[] strArr = value != null ? value.toCharArray() : new char[0];
int patIdxStart = 0;
int patIdxEnd = patArr.length - 1;
int strIdxStart = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,22 @@
* under the License.
*/

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.DefaultArtifact;
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.junit.Test;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

public abstract class AbstractPatternArtifactFilterTest
{

Expand Down Expand Up @@ -579,4 +581,23 @@ public void testmassembly955()
assertTrue( filter.include( artifact2 ) );
}
}

@Test
public void testPartialWildcardShouldNotMatchEmptyComponent()
{
Artifact artifact = new DefaultArtifact( "test-group", "test-artifact", "test-version",
null, "jar", null, mock( ArtifactHandler.class) );

ArtifactFilter filter = createFilter(
Collections.singletonList( "test-group:test-artifact:*:ERROR*" ) );

if ( isInclusionNotExpected() )
{
assertTrue( filter.include( artifact ) );
}
else
{
assertFalse( filter.include( artifact ) );
}
}
}

0 comments on commit 0e88be9

Please sign in to comment.