pwgcz opened a new pull request, #635: URL: https://github.com/apache/guacamole-server/pull/635
When an RDP connection hits a transport-level failure (for example, a certificate error), the inner event loop in rdp.c can spin at 100% CPU. This happens because the error state in wait_result gets overwritten. When the issue occurs, guac_rdp_handle_events() sets wait_result to -1, but the loop doesn’t exit immediately. In the next iteration, the while condition assigns wait_result from rdp_guac_client_wait_for_events() effectively clearing the error flag. As a result, the loop never observes the transport failure and continues polling, spinning the CPU. Fix: break out of the loop immediately after guac_rdp_handle_events() fails, so we stop processing when FreeRDP reports a connection error. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
