diff options
| author | RHeniz <heniganr1@gmail.com> | 2021-10-22 14:28:10 -0400 |
|---|---|---|
| committer | RHeniz <heniganr1@gmail.com> | 2021-10-22 14:28:10 -0400 |
| commit | e2a7060a4168b9ed4a6701d62b8a6fb77113d23d (patch) | |
| tree | c73f58c401d0ca20d024cea3d687b3a14aa28499 | |
| parent | 13a7d2f782c7136e4a03aab5f3c0dbf7bc5f77a8 (diff) | |
| download | sdl_android-bugfix/issue_1750.tar.gz | |
Fix NPE for processControlServicebugfix/issue_1750
| -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); |
