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");

Reply via email to