From 640172d24d299aebed2a95bdaa3905a6d8350643 Mon Sep 17 00:00:00 2001 From: Tobias Nießen Date: Thu, 27 Sep 2018 20:10:15 +0200 Subject: crypto: replace gotos PR-URL: https://github.com/nodejs/node/pull/23132 Reviewed-By: Colin Ihrig Reviewed-By: Denys Otrishko Reviewed-By: Ben Noordhuis Reviewed-By: Luigi Pinca Reviewed-By: Sakthipriyan Vairamani Reviewed-By: Anna Henningsen Reviewed-By: Gireesh Punathil Reviewed-By: Michael Dawson Reviewed-By: James M Snell --- src/node_crypto_clienthello.cc | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'src/node_crypto_clienthello.cc') diff --git a/src/node_crypto_clienthello.cc b/src/node_crypto_clienthello.cc index 4df0d93482..cbe1be3273 100644 --- a/src/node_crypto_clienthello.cc +++ b/src/node_crypto_clienthello.cc @@ -74,12 +74,6 @@ bool ClientHelloParser::ParseRecordHeader(const uint8_t* data, size_t avail) { void ClientHelloParser::ParseHeader(const uint8_t* data, size_t avail) { ClientHello hello; - bool failed = true; - - OnScopeLeave cleanup([&]() { - if (failed) - End(); - }); // >= 5 + frame size bytes for frame parsing if (body_offset_ + frame_len_ > avail) @@ -94,23 +88,23 @@ void ClientHelloParser::ParseHeader(const uint8_t* data, size_t avail) { if (data[body_offset_ + 4] != 0x03 || data[body_offset_ + 5] < 0x01 || data[body_offset_ + 5] > 0x03) { - return; + return End(); } if (data[body_offset_] == kClientHello) { if (state_ == kTLSHeader) { if (!ParseTLSClientHello(data, avail)) - return; + return End(); } else { // We couldn't get here, but whatever - return; + return End(); } // Check if we overflowed (do not reply with any private data) if (session_id_ == nullptr || session_size_ > 32 || session_id_ + session_size_ > data + avail) { - return; + return End(); } } @@ -122,8 +116,6 @@ void ClientHelloParser::ParseHeader(const uint8_t* data, size_t avail) { hello.servername_ = servername_; hello.servername_size_ = static_cast(servername_size_); onhello_cb_(cb_arg_, hello); - failed = false; - return; } -- cgit v1.2.3