From 3296dd8a89a0ed2b9fd1d39cbc912ce6e5c4d863 Mon Sep 17 00:00:00 2001 From: Josh B <421772+HT154@users.noreply.github.com> Date: Tue, 14 Jan 2025 04:51:09 -0800 Subject: [PATCH] Fix NPE when handling ExternalReader specs with null arguments (#882) --- .../pkl/core/externalreader/ExternalReaderProcessImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkl-core/src/main/java/org/pkl/core/externalreader/ExternalReaderProcessImpl.java b/pkl-core/src/main/java/org/pkl/core/externalreader/ExternalReaderProcessImpl.java index ec46c5f6..95b705c2 100644 --- a/pkl-core/src/main/java/org/pkl/core/externalreader/ExternalReaderProcessImpl.java +++ b/pkl-core/src/main/java/org/pkl/core/externalreader/ExternalReaderProcessImpl.java @@ -1,5 +1,5 @@ /* - * Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved. + * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -107,7 +107,9 @@ final class ExternalReaderProcessImpl implements ExternalReaderProcess { // This relies on Java/OS behavior around PATH resolution, absolute/relative paths, etc. var command = new ArrayList(); command.add(spec.executable()); - command.addAll(spec.arguments()); + if (spec.arguments() != null) { + command.addAll(spec.arguments()); + } var builder = new ProcessBuilder(command); builder.redirectError(Redirect.INHERIT); // inherit stderr from this pkl process