Skip to content

Commit 586fd02

Browse files
committed
[bugfix] Prevent null pointer exceptions in the commandRunner
1 parent 71f4d2c commit 586fd02

File tree

2 files changed

+3
-9
lines changed

2 files changed

+3
-9
lines changed

src/main/java/org/sonar/plugins/clojure/sensors/CommandRunner.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.sonar.api.utils.log.Loggers;
88

99
import java.util.Arrays;
10+
import java.util.Objects;
1011

1112
@ScannerSide
1213
public class CommandRunner {
@@ -30,7 +31,7 @@ public CommandRunner() {
3031
CommandStreamConsumer run(String command, CommandStreamConsumer stdout,
3132
CommandStreamConsumer stderr, String... arguments) {
3233
Command cmd = Command.create(command);
33-
Arrays.stream(arguments).forEach(cmd::addArgument);
34+
Arrays.stream(arguments).filter(Objects::nonNull).forEach(cmd::addArgument);
3435

3536
commandExecutor.execute(cmd, stdout, stderr, TIMEOUT);
3637

src/test/java/org/sonar/plugins/clojure/sensors/CommandRunnerTest.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import static org.junit.Assert.assertThat;
1515
import static org.mockito.ArgumentMatchers.any;
1616
import static org.mockito.Mockito.anyLong;
17-
import static org.mockito.Mockito.doReturn;
1817
import static org.mockito.Mockito.times;
1918
import static org.mockito.Mockito.verify;
2019
import static org.mockito.Mockito.when;
@@ -37,13 +36,7 @@ public void setUp() {
3736

3837
@Test
3938
public void shouldTakeMultipleArgumentsForCommand() {
40-
doReturn(0).when(commandExecutor).execute(
41-
any(),
42-
any(),
43-
any(),
44-
anyLong());
45-
46-
commandRunner.run("echo", "argument1", "argument2");
39+
commandRunner.run("echo", "argument1", null, "argument2");
4740

4841
ArgumentCaptor<Command> commandCaptor = ArgumentCaptor.forClass(Command.class);
4942
verify(commandExecutor, times(1))

0 commit comments

Comments
 (0)