summaryrefslogtreecommitdiff
path: root/src/BtBitfieldMessage.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/BtBitfieldMessage.cc')
-rw-r--r--src/BtBitfieldMessage.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/BtBitfieldMessage.cc b/src/BtBitfieldMessage.cc
index 9d55d304..64418a0c 100644
--- a/src/BtBitfieldMessage.cc
+++ b/src/BtBitfieldMessage.cc
@@ -97,7 +97,7 @@ void BtBitfieldMessage::doReceivedAction()
}
}
-unsigned char* BtBitfieldMessage::createMessage()
+std::vector<unsigned char> BtBitfieldMessage::createMessage()
{
/**
* len --- 1+bitfieldLength, 4bytes
@@ -106,9 +106,10 @@ unsigned char* BtBitfieldMessage::createMessage()
* total: 5+bitfieldLength bytes
*/
const size_t msgLength = 5 + bitfieldLength_;
- auto msg = new unsigned char[msgLength];
- bittorrent::createPeerMessageString(msg, msgLength, 1 + bitfieldLength_, ID);
- memcpy(msg + 5, bitfield_.get(), bitfieldLength_);
+ auto msg = std::vector<unsigned char>(msgLength);
+ bittorrent::createPeerMessageString(msg.data(), msgLength,
+ 1 + bitfieldLength_, ID);
+ memcpy(msg.data() + 5, bitfield_.get(), bitfieldLength_);
return msg;
}