summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dumpcap.c9
-rw-r--r--rawshark.c8
-rw-r--r--sharkd_daemon.c7
-rw-r--r--tshark.c8
-rw-r--r--ui/gtk/main.c9
-rw-r--r--wireshark-qt.cpp8
6 files changed, 43 insertions, 6 deletions
diff --git a/dumpcap.c b/dumpcap.c
index 2d4bf513e7..82d516843d 100644
--- a/dumpcap.c
+++ b/dumpcap.c
@@ -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
diff --git a/tshark.c b/tshark.c
index 68964bbd57..3ccb2d8467 100644
--- a/tshark.c
+++ b/tshark.c
@@ -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. */