summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRHeniz <heniganr1@gmail.com>2021-10-22 14:28:10 -0400
committerRHeniz <heniganr1@gmail.com>2021-10-22 14:28:10 -0400
commite2a7060a4168b9ed4a6701d62b8a6fb77113d23d (patch)
treec73f58c401d0ca20d024cea3d687b3a14aa28499
parent13a7d2f782c7136e4a03aab5f3c0dbf7bc5f77a8 (diff)
downloadsdl_android-bugfix/issue_1750.tar.gz
Fix NPE for processControlServicebugfix/issue_1750
-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);