diff --git a/client/Sample/tf_freerdp.c b/client/Sample/tf_freerdp.c index e9b9fe839..b2f20478b 100644 --- a/client/Sample/tf_freerdp.c +++ b/client/Sample/tf_freerdp.c @@ -182,7 +182,7 @@ static DWORD WINAPI tf_client_thread_proc(LPVOID arg) DWORD nCount; DWORD status; DWORD result = 0; - HANDLE handles[64]; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; BOOL rc = freerdp_connect(instance); if (instance->settings->AuthenticationOnly) @@ -202,7 +202,7 @@ static DWORD WINAPI tf_client_thread_proc(LPVOID arg) while (!freerdp_shall_disconnect(instance)) { - nCount = freerdp_get_event_handles(instance->context, &handles[0], 64); + nCount = freerdp_get_event_handles(instance->context, handles, ARRAYSIZE(handles)); if (nCount == 0) { diff --git a/client/Wayland/wlfreerdp.c b/client/Wayland/wlfreerdp.c index 8a0578331..20f8fce0d 100644 --- a/client/Wayland/wlfreerdp.c +++ b/client/Wayland/wlfreerdp.c @@ -465,7 +465,7 @@ static int wlfreerdp_run(freerdp* instance) { wlfContext* context; DWORD count; - HANDLE handles[64]; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; DWORD status = WAIT_ABANDONED; if (!instance) @@ -485,7 +485,8 @@ static int wlfreerdp_run(freerdp* instance) while (!freerdp_shall_disconnect(instance)) { handles[0] = context->displayHandle; - count = freerdp_get_event_handles(instance->context, &handles[1], 63) + 1; + count = + freerdp_get_event_handles(instance->context, &handles[1], ARRAYSIZE(handles) - 1) + 1; if (count <= 1) { diff --git a/client/X11/xf_client.c b/client/X11/xf_client.c index 9cc89a23a..2787706b4 100644 --- a/client/X11/xf_client.c +++ b/client/X11/xf_client.c @@ -1489,7 +1489,7 @@ static DWORD WINAPI xf_client_thread(LPVOID param) DWORD exit_code = 0; DWORD nCount; DWORD waitStatus; - HANDLE handles[64]; + HANDLE handles[MAXIMUM_WAIT_OBJECTS] = { 0 }; xfContext* xfc; freerdp* instance; rdpContext* context; diff --git a/libfreerdp/core/gateway/tsg.c b/libfreerdp/core/gateway/tsg.c index 7ceae35a6..b5ce7f55e 100644 --- a/libfreerdp/core/gateway/tsg.c +++ b/libfreerdp/core/gateway/tsg.c @@ -2033,7 +2033,7 @@ BOOL tsg_connect(rdpTsg* tsg, const char* hostname, UINT16 port, DWORD timeout) { UINT64 looptimeout = timeout * 1000ULL; DWORD nCount; - HANDLE events[64]; + HANDLE events[MAXIMUM_WAIT_OBJECTS] = { 0 }; rdpRpc* rpc = tsg->rpc; rdpSettings* settings = rpc->settings; rdpTransport* transport = rpc->transport; @@ -2055,7 +2055,7 @@ BOOL tsg_connect(rdpTsg* tsg, const char* hostname, UINT16 port, DWORD timeout) return FALSE; } - nCount = tsg_get_event_handles(tsg, events, 64); + nCount = tsg_get_event_handles(tsg, events, ARRAYSIZE(events)); if (nCount == 0) return FALSE; diff --git a/libfreerdp/core/transport.c b/libfreerdp/core/transport.c index a35f43cfe..6dedf7a2e 100644 --- a/libfreerdp/core/transport.c +++ b/libfreerdp/core/transport.c @@ -981,8 +981,8 @@ void transport_get_fds(rdpTransport* transport, void** rfds, int* rcount) { DWORD index; DWORD nCount; - HANDLE events[64]; - nCount = transport_get_event_handles(transport, events, 64); + HANDLE events[MAXIMUM_WAIT_OBJECTS] = { 0 }; + nCount = transport_get_event_handles(transport, events, ARRAYSIZE(events)); *rcount = nCount + 1; for (index = 0; index < nCount; index++)