ngtcp2: fix returns when TLS verify failed
No binary (build failed)
—
(log yok)
| @@ -1329,7 +1329,7 @@ static CURLcode cf_ngtcp2_recv(struct Curl_cfilter *cf, struct Curl_easy *data, | |
| /* handshake verification failed in callback, do not recv anything */ | |
| if(ctx->tls_vrfy_result) { | |
| result = ctx->tls_vrfy_result; | |
| - | goto out; |
| + | goto denied; |
| } | |
| pktx_init(&pktx, cf, data); | |
| @@ -1361,7 +1361,7 @@ static CURLcode cf_ngtcp2_recv(struct Curl_cfilter *cf, struct Curl_easy *data, | |
| out: | |
| result = Curl_1st_err(result, cf_progress_egress(cf, data, &pktx)); | |
| result = Curl_1st_err(result, check_and_set_expiry(cf, data, &pktx)); | |
| - | |
| + | denied: |
| CURL_TRC_CF(data, cf, "[%" FMT_PRId64 "] cf_recv(blen=%zu) -> %d, %zu", | |
| stream ? stream->id : -1, blen, result, *pnread); | |
| CF_DATA_RESTORE(cf, save); | |
| @@ -1616,8 +1616,10 @@ static CURLcode cf_ngtcp2_send(struct Curl_cfilter *cf, struct Curl_easy *data, | |
| *pnwritten = 0; | |
| /* handshake verification failed in callback, do not send anything */ | |
| - | if(ctx->tls_vrfy_result) |
| - | return ctx->tls_vrfy_result; |
| + | if(ctx->tls_vrfy_result) { |
| + | result = ctx->tls_vrfy_result; |
| + | goto denied; |
| + | } |
| (void)eos; /* use for stream EOF and block handling */ | |
| result = cf_progress_ingress(cf, data, &pktx); | |
| @@ -1684,7 +1686,7 @@ static CURLcode cf_ngtcp2_send(struct Curl_cfilter *cf, struct Curl_easy *data, | |
| out: | |
| result = Curl_1st_err(result, check_and_set_expiry(cf, data, &pktx)); | |
| - | |
| + | denied: |
| CURL_TRC_CF(data, cf, "[%" FMT_PRId64 "] cf_send(len=%zu) -> %d, %zu", | |
| stream ? stream->id : -1, len, result, *pnwritten); | |
| CF_DATA_RESTORE(cf, save); | |