diff --git a/CHANGELOG b/CHANGELOG index c4fd85be2..b85784451 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,10 @@ # Nmap Changelog ($Id$); -*-text-*- +o Fixed an assertion failure which could occur when connecting to an + SSL server: + nsock_core.c:186: update_events: Assertion `(ev_inc & ev_dec) == 0' failed. + Thanks to Ron for reporting the bug and testing. [Henri] + o [NSE] Added cccam-version.nse. It detects the CCcam TV card sharing system. [David] diff --git a/nsock/src/nsock_core.c b/nsock/src/nsock_core.c index 79e6c7a79..a7e74325f 100644 --- a/nsock/src/nsock_core.c +++ b/nsock/src/nsock_core.c @@ -532,14 +532,14 @@ void handle_write_result(mspool *ms, msevent *nse, enum nse_status status) { evclr = socket_count_dec_ssl_desire(nse); socket_count_read_inc(iod); - update_events(iod, ms, EV_READ, evclr); + update_events(iod, ms, X_EV(EV_READ, evclr), X_EV(evclr, EV_READ)); nse->sslinfo.ssl_desire = err; } else if (err == SSL_ERROR_WANT_WRITE) { int evclr; evclr = socket_count_dec_ssl_desire(nse); socket_count_write_inc(iod); - update_events(iod, ms, EV_WRITE, evclr); + update_events(iod, ms, X_EV(EV_WRITE, evclr), X_EV(evclr, EV_WRITE)); nse->sslinfo.ssl_desire = err; } else { /* Unexpected error */