From 50cf0ee9155760726def9513a63a4eaaa466ccfc Mon Sep 17 00:00:00 2001 From: Mike McDonald Date: Tue, 16 Sep 2014 23:15:34 -0400 Subject: [PATCH] Modified per_read_integer to handle a length of 0 (which is seen when older RDP clients connect to the FreeRDP server) --- libfreerdp/crypto/per.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libfreerdp/crypto/per.c b/libfreerdp/crypto/per.c index 788266860..6a7bbf809 100644 --- a/libfreerdp/crypto/per.c +++ b/libfreerdp/crypto/per.c @@ -198,7 +198,9 @@ BOOL per_read_integer(wStream* s, UINT32* integer) if (Stream_GetRemainingLength(s) < length) return FALSE; - if (length == 1) + if (length == 0) + *integer = 0; + else if (length == 1) Stream_Read_UINT8(s, *integer); else if (length == 2) Stream_Read_UINT16_BE(s, *integer);