--- a/modules/proxy/mod_proxy_ftp.c +++ a/modules/proxy/mod_proxy_ftp.c @@ -1583,7 +1583,11 @@ static int proxy_ftp_handler(request_rec *r, proxy_worker *worker, } /* make the connection */ - apr_sockaddr_info_get(&pasv_addr, apr_psprintf(p, "%d.%d.%d.%d", h3, h2, h1, h0), connect_addr->family, pasvport, 0, p); + rv = apr_sockaddr_info_get(&pasv_addr, apr_psprintf(p, "%d.%d.%d.%d", h3, h2, h1, h0), connect_addr->family, pasvport, 0, p); + if (rv != APR_SUCCESS) { + ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO() + "failed to set up sockaddr"); + } rv = apr_socket_connect(data_sock, pasv_addr); if (rv != APR_SUCCESS) { ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO(01048) @@ -1628,7 +1632,11 @@ static int proxy_ftp_handler(request_rec *r, proxy_worker *worker, #endif /* _OSD_POSIX */ } - apr_sockaddr_info_get(&local_addr, local_ip, APR_UNSPEC, local_port, 0, r->pool); + rv = apr_sockaddr_info_get(&local_addr, local_ip, APR_UNSPEC, local_port, 0, r->pool); + if (rv != APR_SUCCESS) { + ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO() + "failed to set up sockaddr for %s", local_ip); + } if ((rv = apr_socket_bind(local_sock, local_addr)) != APR_SUCCESS) { ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO(01051) --- a/modules/proxy/proxy_util.c +++ a/modules/proxy/proxy_util.c @@ -2331,7 +2331,10 @@ ap_proxy_determine_connection(apr_pool_t *p, request_rec *r, */ if (!conn->addr) { apr_sockaddr_t *sa; - apr_sockaddr_info_get(&sa, NULL, APR_UNSPEC, 0, 0, conn->pool); + if (apr_sockaddr_info_get(&sa, NULL, APR_UNSPEC, 0, 0, conn->pool) != APR_SUCCESS) { + ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO() + "failed to set up sockaddr"); + } conn->addr = sa; } conn->hostname = "httpd-UDS"; --- a/server/listen.c +++ a/server/listen.c @@ -883,7 +883,13 @@ AP_DECLARE(apr_status_t) ap_duplicate_listeners(apr_pool_t *p, server_rec *s, duplr->protocol = apr_pstrdup(p, lr->protocol); hostname = apr_pstrdup(p, lr->bind_addr->hostname); port = lr->bind_addr->port; - apr_sockaddr_info_get(&sa, hostname, APR_UNSPEC, port, 0, p); + stat = apr_sockaddr_info_get(&sa, hostname, APR_UNSPEC, port, 0, p); + if (stat != APR_SUCCESS) { + ap_log_perror(APLOG_MARK, APLOG_CRIT, 0, p, APLOGNO() + "ap_duplicate_listeners: failed to set up sockaddr for %s", + hostname); + return stat; + } duplr->bind_addr = sa; duplr->next = NULL; stat = apr_socket_create(&duplr->sd, duplr->bind_addr->family,