rdpsnd: Fix sending of wave2 PDU
authorMartin Fleisz <martin.fleisz@thincast.com>
Wed, 11 Jul 2018 13:06:31 +0000 (15:06 +0200)
committerMartin Fleisz <martin.fleisz@thincast.com>
Wed, 11 Jul 2018 13:06:31 +0000 (15:06 +0200)
According to MS-RDPEA 2.2.3.10 the Wave2 PDU's header BodySize field
should be equal the size of the PDU minus the header (4 Bytes).

channels/rdpsnd/server/rdpsnd_main.c

index 0824f0e..8d582c5 100644 (file)
@@ -507,7 +507,7 @@ static UINT rdpsnd_server_send_wave2_pdu(RdpsndServerContext* context,
                /* Set stream size */
                end = Stream_GetPosition(s);
                Stream_SetPosition(s, 2);
-               Stream_Write_UINT16(s, end);
+               Stream_Write_UINT16(s, end - 4);
                Stream_SetPosition(s, end);
                Stream_SealLength(s);
                context->block_no = (context->block_no + 1) % 256;