diff options
author | Michael Mann <mmann78@netscape.net> | 2017-03-26 18:46:13 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-03-27 03:14:15 +0000 |
commit | 3b588dffcf4737f07ccf49baf6bc44a4108647c3 (patch) | |
tree | a30fab29f23656a7ec62e78cc38fb03f0d312dbe | |
parent | 520cfcf53b1c3e56ff524c89cf18fbf999a28f0c (diff) |
Check for return value of WSAStartup on all executables.
Windows vscodeanalysis complains even though the event is probably
very unlikely.
Change-Id: Iafe158eea5586908209d6bfe1e45540117558673
Reviewed-on: https://code.wireshark.org/review/20727
Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r-- | dumpcap.c | 9 | ||||
-rw-r--r-- | rawshark.c | 8 | ||||
-rw-r--r-- | sharkd_daemon.c | 7 | ||||
-rw-r--r-- | tshark.c | 8 | ||||
-rw-r--r-- | ui/gtk/main.c | 9 | ||||
-rw-r--r-- | wireshark-qt.cpp | 8 |
6 files changed, 43 insertions, 6 deletions
@@ -3779,6 +3779,7 @@ main(int argc, char *argv[]) gboolean arg_error = FALSE; #ifdef _WIN32 + int result; WSADATA wsaData; #else struct sigaction action, oldaction; @@ -3970,7 +3971,13 @@ main(int argc, char *argv[]) /*wpcap_packet_load();*/ /* Start windows sockets */ - WSAStartup( MAKEWORD( 1, 1 ), &wsaData ); + result = WSAStartup( MAKEWORD( 1, 1 ), &wsaData ); + if (result != 0) + { + g_log(LOG_DOMAIN_CAPTURE_CHILD, G_LOG_LEVEL_ERROR, + "ERROR: WSAStartup failed with error: %d", result); + exit_main(1); + } /* Set handler for Ctrl+C key */ SetConsoleCtrlHandler(capture_cleanup_handler, TRUE); diff --git a/rawshark.c b/rawshark.c index e319acd01c..032ee93a7c 100644 --- a/rawshark.c +++ b/rawshark.c @@ -429,6 +429,7 @@ main(int argc, char *argv[]) gboolean arg_error = FALSE; #ifdef _WIN32 + int result; WSADATA wsaData; #else struct rlimit limit; @@ -824,7 +825,12 @@ main(int argc, char *argv[]) #ifdef _WIN32 /* Start windows sockets */ - WSAStartup( MAKEWORD( 1, 1 ), &wsaData ); + result = WSAStartup( MAKEWORD( 1, 1 ), &wsaData ); + if (result != 0) + { + ret = INIT_ERROR; + goto clean_exit; + } #endif /* _WIN32 */ /* At this point MATE will have registered its field array so we can diff --git a/sharkd_daemon.c b/sharkd_daemon.c index f9279706ea..0dc23e679c 100644 --- a/sharkd_daemon.c +++ b/sharkd_daemon.c @@ -73,8 +73,13 @@ socket_init(char *path) #ifdef _WIN32 WSADATA wsaData; + int result; - WSAStartup(MAKEWORD(1, 1), &wsaData); + result = WSAStartup(MAKEWORD(1, 1), &wsaData); + if (result != 0) { + g_warning("ERROR: WSAStartup failed with error: %d", result); + return INVALID_SOCKET; + } #endif #ifdef SHARKD_UNIX_SUPPORT @@ -661,6 +661,7 @@ main(int argc, char *argv[]) gboolean arg_error = FALSE; #ifdef _WIN32 + int result; WSADATA wsaData; #endif /* _WIN32 */ @@ -1769,7 +1770,12 @@ main(int argc, char *argv[]) #ifdef _WIN32 /* Start windows sockets */ - WSAStartup( MAKEWORD( 1, 1 ), &wsaData ); + result = WSAStartup( MAKEWORD( 1, 1 ), &wsaData ); + if (result != 0) + { + exit_status = INIT_FAILED; + goto clean_exit; + } #endif /* _WIN32 */ /* Notify all registered modules that have had any of their preferences diff --git a/ui/gtk/main.c b/ui/gtk/main.c index 348868fdf5..c8b030b2fc 100644 --- a/ui/gtk/main.c +++ b/ui/gtk/main.c @@ -2066,6 +2066,7 @@ main(int argc, char *argv[]) #ifdef _WIN32 WSADATA wsaData; + int result; #endif /* _WIN32 */ char *rf_path; @@ -2197,7 +2198,13 @@ main(int argc, char *argv[]) #ifdef _WIN32 /* Start windows sockets */ - WSAStartup( MAKEWORD( 1, 1 ), &wsaData ); + result = WSAStartup( MAKEWORD( 1, 1 ), &wsaData ); + if (result != 0) { + simple_dialog(ESD_TYPE_WARN, ESD_BTN_OK, + "Error: WSAStartup failed with error: %d", result); + ret = INIT_FAILED; + goto clean_exit; + } #endif /* _WIN32 */ profile_store_persconffiles (TRUE); diff --git a/wireshark-qt.cpp b/wireshark-qt.cpp index 1f92a5de7b..d8a0afb562 100644 --- a/wireshark-qt.cpp +++ b/wireshark-qt.cpp @@ -339,6 +339,7 @@ int main(int argc, char *qt_argv[]) char **argv = qt_argv; #ifdef _WIN32 + int result; WSADATA wsaData; #endif /* _WIN32 */ @@ -509,7 +510,12 @@ int main(int argc, char *qt_argv[]) #ifdef _WIN32 /* Start windows sockets */ - WSAStartup( MAKEWORD( 1, 1 ), &wsaData ); + result = WSAStartup( MAKEWORD( 1, 1 ), &wsaData ); + if (result != 0) + { + ret_val = INIT_FAILED; + goto clean_exit; + } #endif /* _WIN32 */ /* Read the profile dependent (static part) of the recent file. */ |