Fixed unused store warnings.
authorArmin Novak <armin.novak@thincast.com>
Thu, 7 Feb 2019 14:09:36 +0000 (15:09 +0100)
committerArmin Novak <armin.novak@thincast.com>
Fri, 5 Apr 2019 07:14:35 +0000 (09:14 +0200)
libfreerdp/codec/nsc_encode.c

index d2456fb..0142e69 100644 (file)
@@ -446,6 +446,13 @@ NSC_MESSAGE* nsc_encode_messages(NSC_CONTEXT* context, const BYTE* data,
        UINT32 MaxMessageSize;
        NSC_MESSAGE* messages;
        UINT32 PaddedMaxPlaneSize;
+
+       if (!context || !data || !numMessages)
+               return NULL;
+
+       if (maxDataSize < 1024)
+               return NULL;
+
        k = 0;
        MaxRegionWidth = 64 * 4;
        MaxRegionHeight = 64 * 2;
@@ -458,6 +465,9 @@ NSC_MESSAGE* nsc_encode_messages(NSC_CONTEXT* context, const BYTE* data,
                                              height);
        MaxMessageSize = ByteCount[0] + ByteCount[1] + ByteCount[2] + ByteCount[3] + 20;
        maxDataSize -= 1024; /* reserve enough space for headers */
+       if (maxDataSize < (*numMessages) * sizeof(NSC_MESSAGE))
+               return NULL;
+
        messages = (NSC_MESSAGE*) calloc(*numMessages, sizeof(NSC_MESSAGE));
 
        if (!messages)