diff --git a/src/socket.c b/src/socket.c index 295569da0..7344d66ad 100644 --- a/src/socket.c +++ b/src/socket.c @@ -203,9 +203,7 @@ static int connSocketAccept(connection *conn, ConnectionCallbackFunc accept_hand if (conn->state != CONN_STATE_ACCEPTING) return C_ERR; conn->state = CONN_STATE_CONNECTED; - connIncrRefs(conn); if (!callHandler(conn, accept_handler)) ret = C_ERR; - connDecrRefs(conn); return ret; } diff --git a/src/tls.c b/src/tls.c index 7b57fce6f..b4ba1adc9 100644 --- a/src/tls.c +++ b/src/tls.c @@ -570,7 +570,7 @@ static int updateStateAfterSSLIO(tls_connection *conn, int ret_value, int update } else { if (ssl_err == SSL_ERROR_ZERO_RETURN || ((ssl_err == SSL_ERROR_SYSCALL && !errno))) { conn->c.state = CONN_STATE_CLOSED; - return -1; + return 0; } else { conn->c.state = CONN_STATE_ERROR; return -1;