summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Henigan <robert.henigan@livio.io>2021-10-25 15:28:00 -0400
committerGitHub <noreply@github.com>2021-10-25 15:28:00 -0400
commit92b8ccbd73029a3ef8d540b839ee28b726d0093f (patch)
treec73f58c401d0ca20d024cea3d687b3a14aa28499
parent13a7d2f782c7136e4a03aab5f3c0dbf7bc5f77a8 (diff)
downloadsdl_android-92b8ccbd73029a3ef8d540b839ee28b726d0093f.tar.gz
Fix NPE for processControlService (#1757)
-rw-r--r--base/src/main/java/com/smartdevicelink/session/BaseSdlSession.java7
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);