summaryrefslogtreecommitdiffstats
path: root/sesman
diff options
context:
space:
mode:
Diffstat (limited to 'sesman')
-rw-r--r--sesman/sesman.c10
-rw-r--r--sesman/session.c30
-rw-r--r--sesman/tools/sesadmin.c6
-rw-r--r--sesman/tools/sesrun.c3
-rw-r--r--sesman/tools/sestest.c3
5 files changed, 39 insertions, 13 deletions
diff --git a/sesman/sesman.c b/sesman/sesman.c
index 964bc740..1c620210 100644
--- a/sesman/sesman.c
+++ b/sesman/sesman.c
@@ -54,7 +54,14 @@ sesman_main_loop(void)
/*main program loop*/
log_message(LOG_LEVEL_INFO, "listening...");
+
g_sck = g_tcp_socket();
+ if (g_sck < 0)
+ {
+ log_message(LOG_LEVEL_ERROR, "error opening socket, g_tcp_socket() failed...");
+ return 1;
+ }
+
g_tcp_set_non_blocking(g_sck);
error = scp_tcp_bind(g_sck, g_cfg->listen_address, g_cfg->listen_port);
@@ -132,7 +139,8 @@ sesman_main_loop(void)
g_get_errno(), g_get_strerror());
}
- g_tcp_close(g_sck);
+ if (g_sck != -1)
+ g_tcp_close(g_sck);
}
/******************************************************************************/
diff --git a/sesman/session.c b/sesman/session.c
index 130ca26c..fb7193a1 100644
--- a/sesman/session.c
+++ b/sesman/session.c
@@ -203,26 +203,32 @@ x_server_running_check_ports(int display)
if (!x_running) /* check 59xx */
{
- sck = g_tcp_socket();
- g_sprintf(text, "59%2.2d", display);
- x_running = g_tcp_bind(sck, text);
- g_tcp_close(sck);
+ if ((sck = g_tcp_socket()) != -1)
+ {
+ g_sprintf(text, "59%2.2d", display);
+ x_running = g_tcp_bind(sck, text);
+ g_tcp_close(sck);
+ }
}
if (!x_running) /* check 60xx */
{
- sck = g_tcp_socket();
- g_sprintf(text, "60%2.2d", display);
- x_running = g_tcp_bind(sck, text);
- g_tcp_close(sck);
+ if ((sck = g_tcp_socket()) != -1)
+ {
+ g_sprintf(text, "60%2.2d", display);
+ x_running = g_tcp_bind(sck, text);
+ g_tcp_close(sck);
+ }
}
if (!x_running) /* check 62xx */
{
- sck = g_tcp_socket();
- g_sprintf(text, "62%2.2d", display);
- x_running = g_tcp_bind(sck, text);
- g_tcp_close(sck);
+ if ((sck = g_tcp_socket()) != -1)
+ {
+ g_sprintf(text, "62%2.2d", display);
+ x_running = g_tcp_bind(sck, text);
+ g_tcp_close(sck);
+ }
}
return x_running;
diff --git a/sesman/tools/sesadmin.c b/sesman/tools/sesadmin.c
index 979a22f9..32789c6d 100644
--- a/sesman/tools/sesadmin.c
+++ b/sesman/tools/sesadmin.c
@@ -107,6 +107,12 @@ int main(int argc, char **argv)
scp_init(&logging);
sock = g_tcp_socket();
+ if (sock < 0)
+ {
+ LOG_DBG("Socket open error, g_tcp_socket() failed\n");
+ return 1;
+ }
+
s = scp_session_create();
c = scp_connection_create(sock);
diff --git a/sesman/tools/sesrun.c b/sesman/tools/sesrun.c
index 7ac10102..a9181583 100644
--- a/sesman/tools/sesrun.c
+++ b/sesman/tools/sesrun.c
@@ -75,7 +75,10 @@ main(int argc, char **argv)
init_stream(in_s, 8192);
make_stream(out_s);
init_stream(out_s, 8192);
+
sck = g_tcp_socket();
+ if (sck < 0)
+ return 1;
if (g_tcp_connect(sck, argv[1], g_cfg.listen_port) == 0)
{
diff --git a/sesman/tools/sestest.c b/sesman/tools/sestest.c
index f2823eb6..d42b31de 100644
--- a/sesman/tools/sestest.c
+++ b/sesman/tools/sestest.c
@@ -38,6 +38,9 @@ int main(int argc, char **argv)
scp_init(&log);
sock = g_tcp_socket();
+ if (sock < 0)
+ return 1;
+
s = scp_session_create();
c = scp_connection_create(sock);