diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2023-09-18 14:29:48 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2023-09-18 17:29:48 +0900 |
| commit | 4fdcd22d69262a5fc5edf72926cdbe23530cd954 (patch) | |
| tree | b9f273e689a2905f0a9bca028b34405291a4a3af /src/PeerConnection.cc | |
| parent | f05deb0cb25437b538b4efbcb4c631ad79c9d26a (diff) | |
Avoid non-nil argument errors
Use std::copy_n and std::fill_n to avoid a non-nil argument error with
memcpy/memset.
Diffstat (limited to 'src/PeerConnection.cc')
| -rw-r--r-- | src/PeerConnection.cc | 9 |
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); } } |
