Commit 1ce2015a authored by Anton Likhtarov's avatar Anton Likhtarov Committed by Facebook Github Bot

Fix undefined behaviour

Summary: memcpy's src cannot be nullptr even if the size is 0.

Reviewed By: djwatson

Differential Revision: D4560100

fbshipit-source-id: 37cd3ed73f902a136f711a5c1a918258f94d1063
parent 41cee12b
...@@ -1463,8 +1463,13 @@ AsyncSocket::WriteResult AsyncSSLSocket::performWrite( ...@@ -1463,8 +1463,13 @@ AsyncSocket::WriteResult AsyncSSLSocket::performWrite(
uint32_t nextIndex = i + buffersStolen + 1; uint32_t nextIndex = i + buffersStolen + 1;
bytesStolenFromNextBuffer = std::min(vec[nextIndex].iov_len, bytesStolenFromNextBuffer = std::min(vec[nextIndex].iov_len,
minWriteSize_ - len); minWriteSize_ - len);
memcpy(combinedBuf + len, vec[nextIndex].iov_base, if (bytesStolenFromNextBuffer > 0) {
bytesStolenFromNextBuffer); assert(vec[nextIndex].iov_base != nullptr);
::memcpy(
combinedBuf + len,
vec[nextIndex].iov_base,
bytesStolenFromNextBuffer);
}
len += bytesStolenFromNextBuffer; len += bytesStolenFromNextBuffer;
if (bytesStolenFromNextBuffer < vec[nextIndex].iov_len) { if (bytesStolenFromNextBuffer < vec[nextIndex].iov_len) {
// couldn't steal the whole buffer // couldn't steal the whole buffer
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment