From 6db5ec8bba65b9eb3bbc0518ad74ed991126320d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Tue, 15 Feb 2022 11:46:06 +0400 Subject: [PATCH] Replace deprecated inet_ntoa with safer inet_ntop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit inet_ntoa() is a legacy API with MT issues. Use the recommended alternative instead. This makes some code checkers happy, and could potentially fix issues if other parts of the process were to use inet_ntoa() at the same time.. Signed-off-by: Marc-André Lureau --- main.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/main.c b/main.c index 3bf585924f7c..109dc59eea29 100644 --- a/main.c +++ b/main.c @@ -336,6 +336,7 @@ static int recvfd(int sock) static int parent(int sock, int ready_fd, int exit_fd, const char *api_socket, struct slirp4netns_config *cfg, pid_t target_pid) { + char str[INET6_ADDRSTRLEN]; int rc, tapfd; struct in_addr vdhcp_end = { #define NB_BOOTP_CLIENTS 16 @@ -351,25 +352,24 @@ static int parent(int sock, int ready_fd, int exit_fd, const char *api_socket, close(sock); printf("Starting slirp\n"); printf("* MTU: %d\n", cfg->mtu); - printf("* Network: %s\n", inet_ntoa(cfg->vnetwork)); - printf("* Netmask: %s\n", inet_ntoa(cfg->vnetmask)); - printf("* Gateway: %s\n", inet_ntoa(cfg->vhost)); - printf("* DNS: %s\n", inet_ntoa(cfg->vnameserver)); - printf("* DHCP begin: %s\n", inet_ntoa(cfg->vdhcp_start)); - printf("* DHCP end: %s\n", inet_ntoa(vdhcp_end)); - printf("* Recommended IP: %s\n", inet_ntoa(cfg->recommended_vguest)); + printf("* Network: %s\n", inet_ntop(AF_INET, &cfg->vnetwork, str, sizeof(str))); + printf("* Netmask: %s\n", inet_ntop(AF_INET, &cfg->vnetmask, str, sizeof(str))); + printf("* Gateway: %s\n", inet_ntop(AF_INET, &cfg->vhost, str, sizeof(str))); + printf("* DNS: %s\n", inet_ntop(AF_INET, &cfg->vnameserver, str, sizeof(str))); + printf("* DHCP begin: %s\n", inet_ntop(AF_INET, &cfg->vdhcp_start, str, sizeof(str))); + printf("* DHCP end: %s\n", inet_ntop(AF_INET, &vdhcp_end, str, sizeof(str))); + printf("* Recommended IP: %s\n", inet_ntop(AF_INET, &cfg->recommended_vguest, str, sizeof(str))); if (api_socket != NULL) { printf("* API Socket: %s\n", api_socket); } #if SLIRP_CONFIG_VERSION_MAX >= 2 if (cfg->enable_outbound_addr) { printf("* Outbound IPv4: %s\n", - inet_ntoa(cfg->outbound_addr.sin_addr)); + inet_ntop(AF_INET, &cfg->outbound_addr.sin_addr, str, sizeof(str))); } if (cfg->enable_outbound_addr6) { - char str[INET6_ADDRSTRLEN]; - if (inet_ntop(AF_INET6, &cfg->outbound_addr6.sin6_addr, str, - INET6_ADDRSTRLEN) != NULL) { + if (inet_ntop(AF_INET6, &cfg->outbound_addr6.sin6_addr, + str, sizeof(str)) != NULL) { printf("* Outbound IPv6: %s\n", str); } } @@ -383,7 +383,7 @@ static int parent(int sock, int ready_fd, int exit_fd, const char *api_socket, printf( "WARNING: 127.0.0.1:* on the host is accessible as %s (set " "--disable-host-loopback to prohibit connecting to 127.0.0.1:*)\n", - inet_ntoa(cfg->vhost)); + inet_ntop(AF_INET, &cfg->vhost, str, sizeof(str))); } if (cfg->enable_sandbox && geteuid() != 0) { if ((rc = nsenter(target_pid, NULL, NULL, true)) < 0) { -- 2.34.1.428.gdcc0cd074f0c