summaryrefslogtreecommitdiff
path: root/src/PeerConnection.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/PeerConnection.cc')
-rw-r--r--src/PeerConnection.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/PeerConnection.cc b/src/PeerConnection.cc
index 51f08a6f..56461fb2 100644
--- a/src/PeerConnection.cc
+++ b/src/PeerConnection.cc
@@ -142,7 +142,8 @@ bool PeerConnection::receiveMessage(unsigned char* data, size_t& dataLength)
resbufOffset_ = i;
if (done) {
if (data) {
- memcpy(data, resbuf_.get() + msgOffset_ + 4, currentPayloadLength_);
+ std::copy_n(resbuf_.get() + msgOffset_ + 4, currentPayloadLength_,
+ data);
}
dataLength = currentPayloadLength_;
return true;
@@ -220,7 +221,7 @@ bool PeerConnection::receiveHandshake(unsigned char* data, size_t& dataLength,
}
}
size_t writeLength = std::min(resbufLength_, dataLength);
- memcpy(data, resbuf_.get(), writeLength);
+ std::copy_n(resbuf_.get(), writeLength, data);
dataLength = writeLength;
if (retval && !peek) {
resbufLength_ = 0;
@@ -249,7 +250,7 @@ void PeerConnection::enableEncryption(std::unique_ptr<ARC4Encryptor> encryptor,
void PeerConnection::presetBuffer(const unsigned char* data, size_t length)
{
size_t nwrite = std::min(bufferCapacity_, length);
- memcpy(resbuf_.get(), data, nwrite);
+ std::copy_n(data, nwrite, resbuf_.get());
resbufLength_ = length;
}
@@ -280,7 +281,7 @@ void PeerConnection::reserveBuffer(size_t minSize)
if (bufferCapacity_ < minSize) {
bufferCapacity_ = minSize;
auto buf = make_unique<unsigned char[]>(bufferCapacity_);
- memcpy(buf.get(), resbuf_.get(), resbufLength_);
+ std::copy_n(resbuf_.get(), resbufLength_, buf.get());
resbuf_ = std::move(buf);
}
}