summaryrefslogtreecommitdiff
path: root/src/HandshakeExtensionMessage.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-09-28 23:40:44 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-09-28 23:40:44 +0900
commit4b94ede268ff2ff793b22a0730dcbda09d280618 (patch)
tree7c5e98014e7a429e0a8b2e3ab840db83b59216b8 /src/HandshakeExtensionMessage.cc
parent3258614033aaf8288dc4b14275c72a1bb3b65a7e (diff)
Return ExtensionMessage subclass create return raw pointer
Diffstat (limited to 'src/HandshakeExtensionMessage.cc')
-rw-r--r--src/HandshakeExtensionMessage.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/HandshakeExtensionMessage.cc b/src/HandshakeExtensionMessage.cc
index d9f13f23..df2d23c5 100644
--- a/src/HandshakeExtensionMessage.cc
+++ b/src/HandshakeExtensionMessage.cc
@@ -164,7 +164,7 @@ uint8_t HandshakeExtensionMessage::getExtensionMessageID(int key) const
return extreg_.getExtensionMessageID(key);
}
-SharedHandle<HandshakeExtensionMessage>
+HandshakeExtensionMessage*
HandshakeExtensionMessage::create(const unsigned char* data, size_t length)
{
if(length < 1) {
@@ -172,7 +172,6 @@ HandshakeExtensionMessage::create(const unsigned char* data, size_t length)
(fmt(MSG_TOO_SMALL_PAYLOAD_SIZE,
EXTENSION_NAME, static_cast<unsigned long>(length)));
}
- SharedHandle<HandshakeExtensionMessage> msg(new HandshakeExtensionMessage());
A2_LOG_DEBUG(fmt("Creating HandshakeExtensionMessage from %s",
util::percentEncode(data, length).c_str()));
SharedHandle<ValueBase> decoded = bencode2::decode(data+1, length - 1);
@@ -181,6 +180,7 @@ HandshakeExtensionMessage::create(const unsigned char* data, size_t length)
throw DL_ABORT_EX
("Unexpected payload format for extended message handshake");
}
+ HandshakeExtensionMessage* msg(new HandshakeExtensionMessage());
const Integer* port = downcast<Integer>(dict->get("p"));
if(port && 0 < port->i() && port->i() < 65536) {
msg->tcpPort_ = port->i();