diff options
author | Robert Henigan <robert.henigan@livio.io> | 2021-10-25 15:28:00 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-25 15:28:00 -0400 |
commit | 92b8ccbd73029a3ef8d540b839ee28b726d0093f (patch) | |
tree | c73f58c401d0ca20d024cea3d687b3a14aa28499 | |
parent | 13a7d2f782c7136e4a03aab5f3c0dbf7bc5f77a8 (diff) | |
download | sdl_android-92b8ccbd73029a3ef8d540b839ee28b726d0093f.tar.gz |
Fix NPE for processControlService (#1757)
-rw-r--r-- | base/src/main/java/com/smartdevicelink/session/BaseSdlSession.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/base/src/main/java/com/smartdevicelink/session/BaseSdlSession.java b/base/src/main/java/com/smartdevicelink/session/BaseSdlSession.java index d68e9cd20..5fcc8d8ca 100644 --- a/base/src/main/java/com/smartdevicelink/session/BaseSdlSession.java +++ b/base/src/main/java/com/smartdevicelink/session/BaseSdlSession.java @@ -240,6 +240,7 @@ public abstract class BaseSdlSession implements ISdlProtocol, ISecurityInitializ // Assemble a security query payload header for our response SecurityQueryPayload responseHeader = new SecurityQueryPayload(); + byte[] returnBytes; if (iNumBytes == null || iNumBytes <= 0) { DebugTool.logError(TAG, "Internal Error processing control service"); @@ -247,16 +248,18 @@ public abstract class BaseSdlSession implements ISdlProtocol, ISecurityInitializ responseHeader.setQueryType(SecurityQueryType.NOTIFICATION); responseHeader.setCorrelationID(msg.getCorrID()); responseHeader.setJsonSize(0); + returnBytes = new byte[12]; } else { responseHeader.setQueryID(SecurityQueryID.SEND_HANDSHAKE_DATA); responseHeader.setQueryType(SecurityQueryType.RESPONSE); responseHeader.setCorrelationID(msg.getCorrID()); responseHeader.setJsonSize(0); + returnBytes = new byte[iNumBytes + 12]; + System.arraycopy(dataToRead, 0, returnBytes, 12, iNumBytes); } - byte[] returnBytes = new byte[iNumBytes + 12]; + System.arraycopy(responseHeader.assembleHeaderBytes(), 0, returnBytes, 0, 12); - System.arraycopy(dataToRead, 0, returnBytes, 12, iNumBytes); ProtocolMessage protocolMessage = new ProtocolMessage(); protocolMessage.setSessionType(SessionType.CONTROL); |