Browse Source

* bounds check on Identity::FromBuffer

* properly indet last commits
pull/366/head
Jeff Becker 9 years ago
parent
commit
d4febb4e84
No known key found for this signature in database
GPG Key ID: AB950234D6EA286B
  1. 6
      Identity.cpp

6
Identity.cpp

@ -22,6 +22,10 @@ namespace data
size_t Identity::FromBuffer (const uint8_t * buf, size_t len) size_t Identity::FromBuffer (const uint8_t * buf, size_t len)
{ {
if ( len < DEFAULT_IDENTITY_SIZE ) {
// buffer too small, don't overflow
return 0;
}
memcpy (publicKey, buf, DEFAULT_IDENTITY_SIZE); memcpy (publicKey, buf, DEFAULT_IDENTITY_SIZE);
return DEFAULT_IDENTITY_SIZE; return DEFAULT_IDENTITY_SIZE;
} }
@ -245,7 +249,7 @@ namespace data
const size_t slen = s.length(); const size_t slen = s.length();
const size_t bufLen = Base64EncodingBufferSize(slen); const size_t bufLen = Base64EncodingBufferSize(slen);
uint8_t buf[bufLen]; uint8_t buf[bufLen];
auto len = Base64ToByteStream (s.c_str(), slen, buf, 1024); const size_t len = Base64ToByteStream (s.c_str(), slen, buf, bufLen);
return FromBuffer (buf, len); return FromBuffer (buf, len);
} }

Loading…
Cancel
Save