Fixed bug in sslh-select: if socket dropped while defered_data was present, sslh-select would crash.

This commit is contained in:
Yves Rutschle 2013-07-20 00:45:33 +02:00
parent f842e2e081
commit d02ffcd154
2 changed files with 11 additions and 6 deletions

View File

@ -1,3 +1,7 @@
vNEXT:
Fixed bug in sslh-select: if socket dropped while
defered_data was present, sslh-select would crash.
v1.14: 21DEC2012 v1.14: 21DEC2012
Corrected OpenVPN probe to support pre-shared secret Corrected OpenVPN probe to support pre-shared secret
mode (OpenVPN port-sharing code is... wrong). Thanks mode (OpenVPN port-sharing code is... wrong). Thanks

View File

@ -261,7 +261,7 @@ void main_loop(int listen_sockets[], int num_addr_listen)
tidy_connection(&cnx[i], &fds_r, &fds_w); tidy_connection(&cnx[i], &fds_r, &fds_w);
if (verbose) if (verbose)
fprintf(stderr, "closed slot %d\n", i); fprintf(stderr, "closed slot %d\n", i);
} } else {
/* If no defered data is left, stop monitoring the fd /* If no defered data is left, stop monitoring the fd
* for write, and restart monitoring the other one for reads*/ * for write, and restart monitoring the other one for reads*/
if (!cnx[i].q[j].defered_data_size) { if (!cnx[i].q[j].defered_data_size) {
@ -272,6 +272,7 @@ void main_loop(int listen_sockets[], int num_addr_listen)
} }
} }
} }
}
/* Check all sockets for read activity */ /* Check all sockets for read activity */
for (i = 0; i < num_cnx; i++) { for (i = 0; i < num_cnx; i++) {