diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/Checker.java b/src/main/java/com/puppycrawl/tools/checkstyle/Checker.java index 4bd09e523..86ca557d4 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/Checker.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/Checker.java @@ -332,6 +332,11 @@ public class Checker extends AutomaticBean implements MessageDispatcher */ public String normalize(String aPath) { + + if (aPath == null) { + return aPath; + } + final String osName = System.getProperty("os.name").toLowerCase( Locale.US); final boolean onNetWare = (osName.indexOf("netware") > -1); diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java index d4c418390..70e2eb137 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/CheckerTest.java @@ -20,6 +20,7 @@ package com.puppycrawl.tools.checkstyle; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import com.google.common.collect.Sets; @@ -30,6 +31,17 @@ import org.junit.Test; public class CheckerTest { + + @Test + public void testNullBasedir() throws Exception + { + final Checker c = new Checker(); + + c.setBasedir("c:/a\\b/./c\\..\\d"); + c.setBasedir(null); + assertNull(c.getBasedir()); + } + @Test public void testDosBasedir() throws Exception {