The async transport option is broken by design.
If used the main loop is called from the transport thread and the
main thread of the application.
Unless the transport layer is refactored to just work on queues
(input and output) this option will never work, therefore remove it.
Add code annotation to silence false positive warnings from covscan
due to omitting termination \0.
buffer_size: Calling strncpy with a source string whose length (13 chars) is greater than or equal to the size argument (13) will fail to null-terminate "&tmp[cs]".
Change the code a bit to silence false positive warnings from covscan.
leaked_storage: Ignoring storage allocated by "audin_server_context_new(NULL)" leaks it.
leaked_storage: Ignoring storage allocated by "rdpsnd_server_context_new(NULL)" leaks it.
leaked_storage: Ignoring storage allocated by "cliprdr_server_context_new(NULL)" leaks it.
leaked_storage: Ignoring storage allocated by "echo_server_context_new(NULL)" leaks it.
leaked_storage: Ignoring storage allocated by "rdpdr_server_context_new(NULL)" leaks it.
leaked_storage: Ignoring storage allocated by "drdynvc_server_context_new(NULL)" leaks it.
leaked_storage: Ignoring storage allocated by "rdpei_server_context_new(NULL)" leaks it.
leaked_storage: Ignoring storage allocated by "remdesk_server_context_new(NULL)" leaks it.
leaked_storage: Ignoring storage allocated by "encomsp_server_context_new(NULL)" leaks it.
leaked_storage: Ignoring storage allocated by "rdpgfx_server_context_new(NULL)" leaks it.
buffer_size_warning: Calling strncpy with a maximum size argument of 256 bytes on destination array "irp->PathName" of size 256 bytes might leave the destination string unterminated.
buffer_size_warning: Calling strncpy with a maximum size argument of 256 bytes on destination array "irp->ExtraBuffer" of size 256 bytes might leave the destination string unterminated.
leaked_storage: Variable "newbuf" going out of scope leaks the storage it points to.
leaked_storage: Variable "keys" going out of scope leaks the storage it points to.
leaked_storage: Variable "pKeys" going out of scope leaks the storage it points to.
leaked_storage: Variable "s" going out of scope leaks the storage it points to.
leaked_storage: Variable "computerNameW" going out of scope leaks the storage it points to.
leaked_storage: Variable "s" going out of scope leaks the storage it points to.
Since redirection sometimes happens with internal DNS names that
are resolved different by outside DNS it must be possible to override
the preferred redirection hint.