From 4ad158fac6d70541cdaf8d14a629bb2ddd813637 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Wed, 4 Mar 2020 14:23:17 +0100 Subject: [PATCH] Added freerdp_channels_data argument checks. --- libfreerdp/core/client.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libfreerdp/core/client.c b/libfreerdp/core/client.c index f54f6eb6c..09b0af87c 100644 --- a/libfreerdp/core/client.c +++ b/libfreerdp/core/client.c @@ -427,6 +427,14 @@ int freerdp_channels_data(freerdp* instance, UINT16 channelId, BYTE* data, int d rdpChannels* channels; rdpMcsChannel* channel = NULL; CHANNEL_OPEN_DATA* pChannelOpenData; + + if (!instance || !data || (dataSize < 0) || (totalSize < 0)) + { + WLog_ERR(TAG, "%s(%p, %" PRIu16 ", %p, %d, 0x%08x, %d): Invalid arguments", __FUNCTION__, + instance, channelId, data, dataSize, flags, totalSize); + return -1; + } + mcs = instance->context->rdp->mcs; channels = instance->context->channels;