This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch branch-2.8
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit ae02ead671984690de82a0a299ba69380c7c124c
Author: Matteo Merli <mme...@apache.org>
AuthorDate: Mon Sep 20 22:04:44 2021 -0700

    Fixed NPE in ProxyConnection with no auth data (#12111)
    
    ### Motivation
    
    In #12057 there was a fix for missing authdata, but `AuthData.of()` is 
expecting a valid `byte[]` instance, empty if there are no credentials.
---
 .../src/main/java/org/apache/pulsar/proxy/server/ProxyConnection.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git 
a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyConnection.java
 
b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyConnection.java
index 28c6083..dd814cf 100644
--- 
a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyConnection.java
+++ 
b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyConnection.java
@@ -92,6 +92,8 @@ public class ProxyConnection extends PulsarHandler implements 
FutureListener<Voi
     private String proxyToBrokerUrl;
     private HAProxyMessage haProxyMessage;
 
+    private static final byte[] EMPTY_CREDENTIALS = new byte[0];
+
     enum State {
         Init,
 
@@ -315,7 +317,7 @@ public class ProxyConnection extends PulsarHandler 
implements FutureListener<Voi
                 return;
             }
 
-            AuthData clientData = AuthData.of(connect.hasAuthData() ? 
connect.getAuthData() : null);
+            AuthData clientData = AuthData.of(connect.hasAuthData() ? 
connect.getAuthData() : EMPTY_CREDENTIALS);
             if (connect.hasAuthMethodName()) {
                 authMethod = connect.getAuthMethodName();
             } else if (connect.hasAuthMethod()) {

Reply via email to