From 84ced9389e1a7f576812e0675b37056331c4dbcd Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 30 Aug 2019 11:29:55 +0200 Subject: Curl_addr2string: take an addrlen argument too This allows the function to figure out if a unix domain socket has a file name or not associated with it! When a socket is created with socketpair(), as done in the fuzzer testing, the path struct member is uninitialized and must not be accessed. Bug: https://crbug.com/oss-fuzz/16699 Closes #4283 --- lib/vquic/ngtcp2.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'lib/vquic/ngtcp2.c') diff --git a/lib/vquic/ngtcp2.c b/lib/vquic/ngtcp2.c index d98be181c..6b3d53ee0 100644 --- a/lib/vquic/ngtcp2.c +++ b/lib/vquic/ngtcp2.c @@ -541,12 +541,11 @@ CURLcode Curl_quic_connect(struct connectdata *conn, uint8_t paramsbuf[64]; ngtcp2_transport_params params; ssize_t nwrite; - (void)addrlen; qs->conn = conn; /* extract the used address as a string */ - if(!Curl_addr2string((struct sockaddr*)addr, ipbuf, &port)) { + if(!Curl_addr2string((struct sockaddr*)addr, addrlen, ipbuf, &port)) { char buffer[STRERROR_LEN]; failf(data, "ssrem inet_ntop() failed with errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); -- cgit v1.2.3