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]

Reply via email to