Skip to content

Commit 7cf484c

Browse files
sam-githubaddaleax
authored andcommitted
src: refactor SSLError case statement
- Don't use both break and return simultaneously. - Use case:/UNREACHABLE() to enforce that all cases are handled, instead of CHECK(). Backport-PR-URL: #25968 PR-URL: #25861 Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
1 parent 0b4055e commit 7cf484c

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/tls_wrap.cc

+10-6
Original file line numberDiff line numberDiff line change
@@ -347,14 +347,15 @@ Local<Value> TLSWrap::GetSSLError(int status, int* err, std::string* msg) {
347347
case SSL_ERROR_WANT_READ:
348348
case SSL_ERROR_WANT_WRITE:
349349
case SSL_ERROR_WANT_X509_LOOKUP:
350-
break;
350+
return Local<Value>();
351+
351352
case SSL_ERROR_ZERO_RETURN:
352353
return scope.Escape(env()->zero_return_string());
353-
break;
354-
default:
355-
{
356-
CHECK(*err == SSL_ERROR_SSL || *err == SSL_ERROR_SYSCALL);
357354

355+
case SSL_ERROR_SSL:
356+
case SSL_ERROR_SYSCALL:
357+
{
358+
unsigned long ssl_err = ERR_peek_error(); // NOLINT(runtime/int)
358359
BIO* bio = BIO_new(BIO_s_mem());
359360
ERR_print_errors(bio);
360361

@@ -372,8 +373,11 @@ Local<Value> TLSWrap::GetSSLError(int status, int* err, std::string* msg) {
372373

373374
return scope.Escape(exception);
374375
}
376+
377+
default:
378+
UNREACHABLE();
375379
}
376-
return Local<Value>();
380+
UNREACHABLE();
377381
}
378382

379383

0 commit comments

Comments
 (0)