Do not call SSL_read() and ignore ZERO_RETURN if the connection was
shutdown and there could not be any reads.
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/joyent/node/pull/8519
if (!hello_parser_.IsEnded())
return;
+ // No reads after EOF
+ if (eof_)
+ return;
+
HandleScope handle_scope(env()->isolate());
Context::Scope context_scope(env()->context());
int err;
Local<Value> arg = GetSSLError(read, &err, NULL);
+ // Ignore ZERO_RETURN after EOF, it is basically not a error
+ if (err == SSL_ERROR_ZERO_RETURN && eof_)
+ return;
+
if (!arg.IsEmpty()) {
// When TLS Alert are stored in wbio,
// it should be flushed to socket before destroyed.