Skip to content

Commit 5febe41

Browse files
committed
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: nodejs#25968 PR-URL: nodejs#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 750b906 commit 5febe41

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
@@ -346,14 +346,15 @@ Local<Value> TLSWrap::GetSSLError(int status, int* err, std::string* msg) {
346346
case SSL_ERROR_WANT_READ:
347347
case SSL_ERROR_WANT_WRITE:
348348
case SSL_ERROR_WANT_X509_LOOKUP:
349-
break;
349+
return Local<Value>();
350+
350351
case SSL_ERROR_ZERO_RETURN:
351352
return scope.Escape(env()->zero_return_string());
352-
break;
353-
default:
354-
{
355-
CHECK(*err == SSL_ERROR_SSL || *err == SSL_ERROR_SYSCALL);
356353

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

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

372373
return scope.Escape(exception);
373374
}
375+
376+
default:
377+
UNREACHABLE();
374378
}
375-
return Local<Value>();
379+
UNREACHABLE();
376380
}
377381

378382

0 commit comments

Comments
 (0)