From 7f7bc6e5a0ae376dd29349cb2834b3fedc6cd49b Mon Sep 17 00:00:00 2001 From: doupengwei Date: Sat, 20 Mar 2021 15:29:07 +0800 Subject: [PATCH] ZOOKEEPER-4218:zooKeeperSaslClient will product a null state event and then caused NPE while used switch(state) to deal with event. --- .../java/org/apache/zookeeper/client/ZooKeeperSaslClient.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/client/ZooKeeperSaslClient.java b/zookeeper-server/src/main/java/org/apache/zookeeper/client/ZooKeeperSaslClient.java index b0598bca87f..568301ea68b 100644 --- a/zookeeper-server/src/main/java/org/apache/zookeeper/client/ZooKeeperSaslClient.java +++ b/zookeeper-server/src/main/java/org/apache/zookeeper/client/ZooKeeperSaslClient.java @@ -355,6 +355,7 @@ private void sendSaslPacket(byte[] saslToken, ClientCnxn cnxn) throws SaslExcept try { cnxn.sendPacket(request, response, cb, ZooDefs.OpCode.sasl); } catch (IOException e) { + saslState = SaslState.FAILED; throw new SaslException("Failed to send SASL packet to server.", e); } } @@ -369,6 +370,7 @@ private void sendSaslPacket(ClientCnxn cnxn) throws SaslException { try { cnxn.sendPacket(request, response, cb, ZooDefs.OpCode.sasl); } catch (IOException e) { + saslState = SaslState.FAILED; throw new SaslException("Failed to send SASL packet to server due " + "to IOException:", e); } }