Lines 1-76
Link Here
|
1 |
From 66282f58000c8863e104666c30cb67b1d5cbdee3 Mon Sep 17 00:00:00 2001 |
|
|
2 |
From: "Kyle J. McKay" <mackyle@gmail.com> |
3 |
Date: Fri, 18 May 2012 00:30:11 -0700 |
4 |
Subject: [PATCH] libvncserver/sockets.c: do not segfault when |
5 |
listenSock/listen6Sock == -1 |
6 |
|
7 |
--- |
8 |
libvncserver/sockets.c | 4 ++-- |
9 |
1 file changed, 2 insertions(+), 2 deletions(-) |
10 |
|
11 |
diff --git a/libvncserver/sockets.c b/libvncserver/sockets.c |
12 |
index 84c9c98..3ff2aac 100644 |
13 |
--- a/libvncserver/sockets.c |
14 |
+++ b/libvncserver/sockets.c |
15 |
@@ -402,9 +402,9 @@ rfbProcessNewConnection(rfbScreenInfoPtr rfbScreen) |
16 |
rfbLogPerror("rfbProcessNewConnection: error in select"); |
17 |
return FALSE; |
18 |
} |
19 |
- if (FD_ISSET(rfbScreen->listenSock, &listen_fds)) |
20 |
+ if (rfbScreen->listenSock >= 0 && FD_ISSET(rfbScreen->listenSock, &listen_fds)) |
21 |
chosen_listen_sock = rfbScreen->listenSock; |
22 |
- if (FD_ISSET(rfbScreen->listen6Sock, &listen_fds)) |
23 |
+ if (rfbScreen->listen6Sock >= 0 && FD_ISSET(rfbScreen->listen6Sock, &listen_fds)) |
24 |
chosen_listen_sock = rfbScreen->listen6Sock; |
25 |
|
26 |
if ((sock = accept(chosen_listen_sock, |
27 |
-- |
28 |
1.8.5.5 |
29 |
|
30 |
From 584542ba97d35706a9e5c001b5cdf64296b5dd7f Mon Sep 17 00:00:00 2001 |
31 |
From: Oliver Loch <o.loch@gmx.net> |
32 |
Date: Wed, 8 Aug 2012 22:09:13 +0200 |
33 |
Subject: [PATCH] Patched sockets.c to allow the use of IPv6 without IPv4. |
34 |
|
35 |
As requested only those lines are indented that have been changed. |
36 |
--- |
37 |
libvncserver/sockets.c | 7 ++++++- |
38 |
1 file changed, 6 insertions(+), 1 deletion(-) |
39 |
|
40 |
diff --git a/libvncserver/sockets.c b/libvncserver/sockets.c |
41 |
index 3ff2aac..15b40ac 100644 |
42 |
--- a/libvncserver/sockets.c |
43 |
+++ b/libvncserver/sockets.c |
44 |
@@ -176,7 +176,9 @@ rfbInitSockets(rfbScreenInfoPtr rfbScreen) |
45 |
rfbScreen->maxFd = max((int)rfbScreen->listen6Sock,rfbScreen->maxFd); |
46 |
#endif |
47 |
} |
48 |
- else if(rfbScreen->port>0) { |
49 |
+ else |
50 |
+ { |
51 |
+ if(rfbScreen->port>0) { |
52 |
FD_ZERO(&(rfbScreen->allFds)); |
53 |
|
54 |
if ((rfbScreen->listenSock = rfbListenOnTCPPort(rfbScreen->port, iface)) < 0) { |
55 |
@@ -187,8 +189,10 @@ rfbInitSockets(rfbScreenInfoPtr rfbScreen) |
56 |
|
57 |
FD_SET(rfbScreen->listenSock, &(rfbScreen->allFds)); |
58 |
rfbScreen->maxFd = rfbScreen->listenSock; |
59 |
+ } |
60 |
|
61 |
#ifdef LIBVNCSERVER_IPv6 |
62 |
+ if (rfbScreen->ipv6port>0) { |
63 |
if ((rfbScreen->listen6Sock = rfbListenOnTCP6Port(rfbScreen->ipv6port, rfbScreen->listen6Interface)) < 0) { |
64 |
/* ListenOnTCP6Port has its own detailed error printout */ |
65 |
return; |
66 |
@@ -197,6 +201,7 @@ rfbInitSockets(rfbScreenInfoPtr rfbScreen) |
67 |
|
68 |
FD_SET(rfbScreen->listen6Sock, &(rfbScreen->allFds)); |
69 |
rfbScreen->maxFd = max((int)rfbScreen->listen6Sock,rfbScreen->maxFd); |
70 |
+ } |
71 |
#endif |
72 |
|
73 |
} |
74 |
-- |
75 |
1.8.5.5 |
76 |
|