File tree 2 files changed +10
-2
lines changed
2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -64,7 +64,11 @@ class udp_client
64
64
addr_.sin_family = PF_INET;
65
65
addr_.sin_port = htons (port);
66
66
addr_.sin_addr .s_addr = INADDR_ANY;
67
- InetPton (PF_INET, TEXT (host.c_str ()), &addr_.sin_addr .s_addr );
67
+ if (InetPton (PF_INET, TEXT (host.c_str ()), &addr_.sin_addr .s_addr ) != 1 ) {
68
+ int last_error = ::WSAGetLastError ();
69
+ ::WSACleanup ();
70
+ throw_winsock_error_ (" error: Invalid address!" , last_error);
71
+ }
68
72
69
73
socket_ = ::socket (PF_INET, SOCK_DGRAM, 0 );
70
74
if (socket_ == INVALID_SOCKET)
Original file line number Diff line number Diff line change @@ -58,7 +58,11 @@ class udp_client
58
58
59
59
sockAddr_.sin_family = AF_INET;
60
60
sockAddr_.sin_port = htons (port);
61
- ::inet_aton (host.c_str(), &sockAddr_.sin_addr);
61
+
62
+ if (::inet_aton (host.c_str (), &sockAddr_.sin_addr ) == 0 ) {
63
+ cleanup_ ();
64
+ throw_spdlog_ex (" error: Invalid address!" );
65
+ }
62
66
63
67
::memset (sockAddr_.sin_zero, 0x00 , sizeof (sockAddr_.sin_zero));
64
68
}
You can’t perform that action at this time.
0 commit comments