summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMuller, Alexander (A.) <amulle19@ford.com>2016-06-01 00:56:08 -0700
committerMuller, Alexander (A.) <amulle19@ford.com>2016-06-01 00:56:08 -0700
commit137812c8cf1cbe9506b045ec47137c8257894c75 (patch)
treedc08c414727d7de8538221e6225d3df4ef8d3401
parentc50f3b0478397d30feaac6a1f86e84242c123333 (diff)
downloadsdl_ios-137812c8cf1cbe9506b045ec47137c8257894c75.tar.gz
Added payload length checks for encryption/decryption.
-rw-r--r--SmartDeviceLink/SDLProtocol.m6
1 files changed, 3 insertions, 3 deletions
diff --git a/SmartDeviceLink/SDLProtocol.m b/SmartDeviceLink/SDLProtocol.m
index ede0f4de3..af86c2a80 100644
--- a/SmartDeviceLink/SDLProtocol.m
+++ b/SmartDeviceLink/SDLProtocol.m
@@ -304,7 +304,7 @@ typedef NSNumber SDLServiceTypeBox;
header.bytesInPayload = (UInt32)data.length;
header.messageID = ++_messageID;
- if (encryption) {
+ if (encryption && data.length) {
NSError *encryptError = nil;
data = [self.securityManager encryptData:data withError:&encryptError];
@@ -366,8 +366,8 @@ typedef NSNumber SDLServiceTypeBox;
NSUInteger payloadLength = payloadSize;
NSData *payload = [self.receiveBuffer subdataWithRange:NSMakeRange(payloadOffset, payloadLength)];
- // If the message in encrypted, try to decrypt it
- if (header.encrypted) {
+ // If the message in encrypted and there is payload, try to decrypt it
+ if (header.encrypted && payload.length) {
NSError *decryptError = nil;
payload = [self.securityManager decryptData:payload withError:&decryptError];