diff --git a/message_parsers.cpp b/message_parsers.cpp
index f63282e..75c12fa 100644
--- a/message_parsers.cpp
+++ b/message_parsers.cpp
@@ -169,9 +169,9 @@
                             inPacket.begin() + sizeof(SessionHeader_t) +
                             payloadLen);
 
-    if(message->isPacketAuthenticated)
+    if (message->isPacketAuthenticated)
     {
-        if(!(internal::verifyPacketIntegrity(inPacket,*(message.get()))))
+        if (!(internal::verifyPacketIntegrity(inPacket,*(message.get()))))
         {
             throw std::runtime_error("Packet Integrity check failed");
         }
@@ -203,7 +203,7 @@
     packet.insert(packet.end(), outMessage.payload.begin(),
                   outMessage.payload.end());
 
-    if(outMessage.isPacketAuthenticated)
+    if (outMessage.isPacketAuthenticated)
     {
         internal::addIntegrityData(packet, outMessage);
     }
@@ -249,7 +249,7 @@
 
     // Check trailer->padLength against paddingLen, both should match up,
     // return false if the lengths don't match
-    if(trailer->padLength != paddingLen)
+    if (trailer->padLength != paddingLen)
     {
         return false;
     }
@@ -262,8 +262,8 @@
     // Check if Integrity data length is as expected, check integrity data
     // length is same as the length expected for the Integrity Algorithm that
     // was negotiated during the session open process.
-    if((packet.size() - sessTrailerPos - sizeof(SessionTrailer_t)) !=
-                    integrityAlgo->authCodeLength)
+    if ((packet.size() - sessTrailerPos - sizeof(SessionTrailer_t)) !=
+            integrityAlgo->authCodeLength)
     {
         return false;
     }
