From 6d653ab02a03e89a379cf48be2828d87fbe9b4d5 Mon Sep 17 00:00:00 2001 From: Gerald Pfeifer Date: Sat, 6 Nov 2004 03:47:01 +0000 Subject: [PATCH] Fix format string in WSAAddressToStringA(). --- dlls/winsock/socket.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/dlls/winsock/socket.c b/dlls/winsock/socket.c index 035a276a4cd..e1fe5033208 100644 --- a/dlls/winsock/socket.c +++ b/dlls/winsock/socket.c @@ -3832,7 +3832,6 @@ INT WINAPI WSAAddressToStringA( LPSOCKADDR sockaddr, DWORD len, { INT size; CHAR buffer[22]; /* 12 digits + 3 dots + ':' + 5 digits + '\0' */ - static const CHAR format[] = "%d.%d.%d.%d:%d"; CHAR *p; TRACE( "(%p, %lx, %p, %p, %ld)\n", sockaddr, len, info, string, *lenstr ); @@ -3842,11 +3841,11 @@ INT WINAPI WSAAddressToStringA( LPSOCKADDR sockaddr, DWORD len, /* sin_family is garanteed to be the first u_short */ if (((SOCKADDR_IN *)sockaddr)->sin_family != AF_INET) return SOCKET_ERROR; - sprintf( buffer, format, - ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) >> 24 & 0xff, - ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) >> 16 & 0xff, - ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) >> 8 & 0xff, - ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) & 0xff, + sprintf( buffer, "%u.%u.%u.%u:%u", + (unsigned int)(ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) >> 24 & 0xff), + (unsigned int)(ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) >> 16 & 0xff), + (unsigned int)(ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) >> 8 & 0xff), + (unsigned int)(ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) & 0xff), ntohs( ((SOCKADDR_IN *)sockaddr)->sin_port ) ); p = strchr( buffer, ':' ); @@ -3892,7 +3891,7 @@ INT WINAPI WSAAddressToStringW( LPSOCKADDR sockaddr, DWORD len, { INT size; WCHAR buffer[22]; /* 12 digits + 3 dots + ':' + 5 digits + '\0' */ - static const WCHAR format[] = { '%','d','.','%','d','.','%','d','.','%','d', ':', '%', 'd',0 }; + static const WCHAR format[] = { '%','u','.','%','u','.','%','u','.','%','u',':','%','u',0 }; WCHAR *p; TRACE( "(%p, %lx, %p, %p, %ld)\n", sockaddr, len, info, string, *lenstr ); @@ -3903,10 +3902,10 @@ INT WINAPI WSAAddressToStringW( LPSOCKADDR sockaddr, DWORD len, if (((SOCKADDR_IN *)sockaddr)->sin_family != AF_INET) return SOCKET_ERROR; sprintfW( buffer, format, - ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) >> 24 & 0xff, - ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) >> 16 & 0xff, - ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) >> 8 & 0xff, - ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) & 0xff, + (unsigned int)(ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) >> 24 & 0xff), + (unsigned int)(ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) >> 16 & 0xff), + (unsigned int)(ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) >> 8 & 0xff), + (unsigned int)(ntohl( ((SOCKADDR_IN *)sockaddr)->sin_addr.WS_s_addr ) & 0xff), ntohs( ((SOCKADDR_IN *)sockaddr)->sin_port ) ); p = strchrW( buffer, ':' ); -- 2.11.4.GIT