diff --git a/node/CertificateOfMembership.cpp b/node/CertificateOfMembership.cpp index 2c7685655..d20985f20 100644 --- a/node/CertificateOfMembership.cpp +++ b/node/CertificateOfMembership.cpp @@ -153,7 +153,7 @@ int CertificateOfMembership::unmarshal(const uint8_t *data,int len) noexcept if (_signatureLength == 0) return -1; } - if ((p + _signatureLength) > len) + if ((int)(p + _signatureLength) > len) return -1; memcpy(_signature,data + p,96); p += 96; diff --git a/node/Protocol.hpp b/node/Protocol.hpp index 1f24c95fa..8a644ea44 100644 --- a/node/Protocol.hpp +++ b/node/Protocol.hpp @@ -1016,7 +1016,7 @@ static ZT_INLINE void salsa2012DeriveKey(const uint8_t *const in,uint8_t *const // key space into two halves-- A->B and B->A (since order will change). #ifdef ZT_NO_UNALIGNED_ACCESS for(int i=0;i<18;++i) - out[i] = in[i] ^ packet.b[i]; + out[i] = in[i] ^ packet.unsafeData[i]; #else *reinterpret_cast(out) = *reinterpret_cast(in) ^ *reinterpret_cast(packet.unsafeData); *reinterpret_cast(out + 8) = *reinterpret_cast(in + 8) ^ *reinterpret_cast(packet.unsafeData + 8);