This is an automated email from the ASF dual-hosted git repository.
exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 70a1b338965 NIFI-15686 Fixed NullPointerException in
ListenSyslog.getListenPorts (#11003)
70a1b338965 is described below
commit 70a1b33896522d362d344b0a92ae3627e2e9f380
Author: Pierre Villard <[email protected]>
AuthorDate: Fri Mar 13 16:06:43 2026 +0100
NIFI-15686 Fixed NullPointerException in ListenSyslog.getListenPorts
(#11003)
Signed-off-by: David Handermann <[email protected]>
---
.../nifi/processors/standard/ListenSyslog.java | 32 ++++++++++++----------
.../nifi/processors/standard/TestListenSyslog.java | 22 +++++++++++++++
2 files changed, 40 insertions(+), 14 deletions(-)
diff --git
a/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListenSyslog.java
b/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListenSyslog.java
index f7ecd6a7c12..ed033ba00fe 100644
---
a/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListenSyslog.java
+++
b/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ListenSyslog.java
@@ -353,24 +353,28 @@ public class ListenSyslog extends AbstractSyslogProcessor
implements ListenCompo
if (transportProtocol == TransportProtocol.TCP) {
final Integer tcpPortNumber =
context.getProperty(TCP_PORT).evaluateAttributeExpressions().asInteger();
- final ListenPort port = StandardListenPort.builder()
- .portNumber(tcpPortNumber)
- .portName(TCP_PORT.getDisplayName())
-
.transportProtocol(org.apache.nifi.components.listen.TransportProtocol.TCP)
- .applicationProtocols(List.of("syslog"))
- .build();
- ports.add(port);
+ if (tcpPortNumber != null) {
+ final ListenPort port = StandardListenPort.builder()
+ .portNumber(tcpPortNumber)
+ .portName(TCP_PORT.getDisplayName())
+
.transportProtocol(org.apache.nifi.components.listen.TransportProtocol.TCP)
+ .applicationProtocols(List.of("syslog"))
+ .build();
+ ports.add(port);
+ }
}
if (transportProtocol == TransportProtocol.UDP) {
final Integer udpPortNumber =
context.getProperty(UDP_PORT).evaluateAttributeExpressions().asInteger();
- final ListenPort port = StandardListenPort.builder()
- .portNumber(udpPortNumber)
- .portName(UDP_PORT.getDisplayName())
-
.transportProtocol(org.apache.nifi.components.listen.TransportProtocol.UDP)
- .applicationProtocols(List.of("syslog"))
- .build();
- ports.add(port);
+ if (udpPortNumber != null) {
+ final ListenPort port = StandardListenPort.builder()
+ .portNumber(udpPortNumber)
+ .portName(UDP_PORT.getDisplayName())
+
.transportProtocol(org.apache.nifi.components.listen.TransportProtocol.UDP)
+ .applicationProtocols(List.of("syslog"))
+ .build();
+ ports.add(port);
+ }
}
return ports;
diff --git
a/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListenSyslog.java
b/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListenSyslog.java
index 350d9eb0ce5..9e55cf74a8a 100644
---
a/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListenSyslog.java
+++
b/nifi-extension-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListenSyslog.java
@@ -235,6 +235,28 @@ public class TestListenSyslog {
tesGetListenPorts(TransportProtocol.UDP, 2);
}
+ @Test
+ public void testGetListenPortsTcpPortNotConfigured() {
+ runner.setProperty(ListenSyslog.PROTOCOL,
TransportProtocol.TCP.toString());
+
+ final ConfigurationContext configurationContext = new
MockConfigurationContext(runner.getProcessContext().getProperties(), new
EmptyControllerServiceLookup(), Map.of());
+ final List<ListenPort> listenPorts =
processor.getListenPorts(configurationContext);
+
+ assertNotNull(listenPorts);
+ assertTrue(listenPorts.isEmpty());
+ }
+
+ @Test
+ public void testGetListenPortsUdpPortNotConfigured() {
+ runner.setProperty(ListenSyslog.PROTOCOL,
TransportProtocol.UDP.toString());
+
+ final ConfigurationContext configurationContext = new
MockConfigurationContext(runner.getProcessContext().getProperties(), new
EmptyControllerServiceLookup(), Map.of());
+ final List<ListenPort> listenPorts =
processor.getListenPorts(configurationContext);
+
+ assertNotNull(listenPorts);
+ assertTrue(listenPorts.isEmpty());
+ }
+
private void tesGetListenPorts(final TransportProtocol protocol, final int
portNumber) {
runner.setProperty(ListenSyslog.TCP_PORT, "0");
runner.setProperty(ListenSyslog.UDP_PORT, "0");