[core,client] add argument checks & assertions

* freerdp_get_event_handles
* freerdp_channels_process_pending_messages
This commit is contained in:
akallabeth 2024-09-17 17:11:26 +02:00
parent e3c75d9d06
commit 6737f86108
No known key found for this signature in database
GPG Key ID: A49454A3FC909FD5
1 changed files with 23 additions and 12 deletions

View File

@ -695,8 +695,8 @@ BOOL freerdp_channels_get_fds(rdpChannels* channels, freerdp* instance, void** r
void* freerdp_channels_get_static_channel_interface(rdpChannels* channels, const char* name)
{
void* pInterface = NULL;
CHANNEL_OPEN_DATA* pChannelOpenData = NULL;
pChannelOpenData = freerdp_channels_find_channel_open_data_by_name(channels, name);
CHANNEL_OPEN_DATA* pChannelOpenData =
freerdp_channels_find_channel_open_data_by_name(channels, name);
if (pChannelOpenData)
pInterface = pChannelOpenData->pInterface;
@ -706,24 +706,35 @@ void* freerdp_channels_get_static_channel_interface(rdpChannels* channels, const
HANDLE freerdp_channels_get_event_handle(freerdp* instance)
{
HANDLE event = NULL;
rdpChannels* channels = NULL;
channels = instance->context->channels;
event = MessageQueue_Event(channels->queue);
return event;
if (!instance)
return INVALID_HANDLE_VALUE;
WINPR_ASSERT(instance->context);
rdpChannels* channels = instance->context->channels;
WINPR_ASSERT(channels);
return MessageQueue_Event(channels->queue);
}
int freerdp_channels_process_pending_messages(freerdp* instance)
{
rdpChannels* channels = NULL;
channels = instance->context->channels;
if (!instance)
return -1;
if (WaitForSingleObject(MessageQueue_Event(channels->queue), 0) == WAIT_OBJECT_0)
WINPR_ASSERT(instance->context);
rdpChannels* channels = instance->context->channels;
WINPR_ASSERT(channels);
const DWORD status = WaitForSingleObject(MessageQueue_Event(channels->queue), 0);
if (status == WAIT_OBJECT_0)
{
return freerdp_channels_process_sync(channels, instance);
if (!freerdp_channels_process_sync(channels, instance))
return -1;
}
return TRUE;
return 1;
}
/**