Make it trigger a warning if not.
Reported-by: Joshua Rogers
Closes #18862
struct Curl_easy *data,
curl_socket_t *psock,
const struct Curl_sockaddr_ex **paddr,
- struct ip_quadruple *pip);
+ struct ip_quadruple *pip) WARN_UNUSED_RESULT;
extern struct Curl_cftype Curl_cft_tcp;
extern struct Curl_cftype Curl_cft_udp;
if(result)
return result;
- Curl_cf_socket_peek(cf->next, data, &ctx->q.sockfd, &sockaddr, NULL);
- if(!sockaddr)
+ if(Curl_cf_socket_peek(cf->next, data, &ctx->q.sockfd, &sockaddr, NULL))
return CURLE_QUIC_CONNECT_ERROR;
ctx->q.local_addrlen = sizeof(ctx->q.local_addr);
rv = getsockname(ctx->q.sockfd, (struct sockaddr *)&ctx->q.local_addr,
if(result) {
struct ip_quadruple ip;
- Curl_cf_socket_peek(cf->next, data, NULL, NULL, &ip);
- infof(data, "QUIC connect to %s port %u failed: %s",
- ip.remote_ip, ip.remote_port, curl_easy_strerror(result));
+ if(!Curl_cf_socket_peek(cf->next, data, NULL, NULL, &ip))
+ infof(data, "QUIC connect to %s port %u failed: %s",
+ ip.remote_ip, ip.remote_port, curl_easy_strerror(result));
}
#endif
if(!result && ctx->qconn) {
int sockerr = SOCKERRNO;
struct ip_quadruple ip;
- Curl_cf_socket_peek(cf->next, data, NULL, NULL, &ip);
if(sockerr && detail == SSL_ERROR_SYSCALL)
curlx_strerror(sockerr, extramsg, sizeof(extramsg));
- failf(data, "QUIC connect: %s in connection to %s:%d (%s)",
- extramsg[0] ? extramsg : osslq_SSL_ERROR_to_str(detail),
- ctx->peer.dispname, ip.remote_port, ip.remote_ip);
+ if(!Curl_cf_socket_peek(cf->next, data, NULL, NULL, &ip))
+ failf(data, "QUIC connect: %s in connection to %s:%d (%s)",
+ extramsg[0] ? extramsg : osslq_SSL_ERROR_to_str(detail),
+ ctx->peer.dispname, ip.remote_port, ip.remote_ip);
}
else {
/* Could be a CERT problem */
goto out;
result = CURLE_QUIC_CONNECT_ERROR;
- Curl_cf_socket_peek(cf->next, data, &ctx->q.sockfd, &peer_addr, NULL);
- if(!peer_addr)
+ if(Curl_cf_socket_peek(cf->next, data, &ctx->q.sockfd, &peer_addr, NULL) ||
+ !peer_addr)
goto out;
ctx->q.local_addrlen = sizeof(ctx->q.local_addr);
if(result) {
struct ip_quadruple ip;
- Curl_cf_socket_peek(cf->next, data, NULL, NULL, &ip);
- infof(data, "QUIC connect to %s port %u failed: %s",
- ip.remote_ip, ip.remote_port, curl_easy_strerror(result));
+ if(!Curl_cf_socket_peek(cf->next, data, NULL, NULL, &ip))
+ infof(data, "QUIC connect to %s port %u failed: %s",
+ ip.remote_ip, ip.remote_port, curl_easy_strerror(result));
}
#endif
if(!result)
if(result)
return result;
- Curl_cf_socket_peek(cf->next, data, &ctx->q.sockfd, &sockaddr, NULL);
+ if(Curl_cf_socket_peek(cf->next, data, &ctx->q.sockfd, &sockaddr, NULL))
+ return CURLE_QUIC_CONNECT_ERROR;
+
ctx->q.local_addrlen = sizeof(ctx->q.local_addr);
rv = getsockname(ctx->q.sockfd, (struct sockaddr *)&ctx->q.local_addr,
&ctx->q.local_addrlen);
}
if(!cf->connected && SOCKERRNO == SOCKECONNREFUSED) {
struct ip_quadruple ip;
- Curl_cf_socket_peek(cf->next, data, NULL, NULL, &ip);
- failf(data, "QUIC: connection to %s port %u refused",
- ip.remote_ip, ip.remote_port);
+ if(!Curl_cf_socket_peek(cf->next, data, NULL, NULL, &ip))
+ failf(data, "QUIC: connection to %s port %u refused",
+ ip.remote_ip, ip.remote_port);
result = CURLE_COULDNT_CONNECT;
goto out;
}
}
if(!cf->connected && SOCKERRNO == SOCKECONNREFUSED) {
struct ip_quadruple ip;
- Curl_cf_socket_peek(cf->next, data, NULL, NULL, &ip);
- failf(data, "QUIC: connection to %s port %u refused",
- ip.remote_ip, ip.remote_port);
+ if(!Curl_cf_socket_peek(cf->next, data, NULL, NULL, &ip))
+ failf(data, "QUIC: connection to %s port %u refused",
+ ip.remote_ip, ip.remote_port);
result = CURLE_COULDNT_CONNECT;
goto out;
}
}
if(!cf->connected && SOCKERRNO == SOCKECONNREFUSED) {
struct ip_quadruple ip;
- Curl_cf_socket_peek(cf->next, data, NULL, NULL, &ip);
- failf(data, "QUIC: connection to %s port %u refused",
- ip.remote_ip, ip.remote_port);
+ if(!Curl_cf_socket_peek(cf->next, data, NULL, NULL, &ip))
+ failf(data, "QUIC: connection to %s port %u refused",
+ ip.remote_ip, ip.remote_port);
result = CURLE_COULDNT_CONNECT;
goto out;
}