diff -ur FreeRDP-2.0.0-rc1-orig/libfreerdp/core/nla.c FreeRDP-2.0.0-rc1/libfreerdp/core/nla.c --- FreeRDP-2.0.0-rc1-orig/libfreerdp/core/nla.c 2017-11-28 15:26:30.000000000 +0100 +++ FreeRDP-2.0.0-rc1/libfreerdp/core/nla.c 2018-03-14 16:25:02.230620541 +0100 @@ -1663,14 +1663,17 @@ static int nla_decode_ts_request(rdpNla* nla, wStream* s) { int length; + UINT32 version = 0; /* TSRequest */ if (!ber_read_sequence_tag(s, &length) || !ber_read_contextual_tag(s, 0, &length, TRUE) || - !ber_read_integer(s, &nla->version)) + !ber_read_integer(s, &version)) { return -1; } + if (version < nla->version) + nla->version = version; /* [1] negoTokens (NegoData) */ if (ber_read_contextual_tag(s, 1, &length, TRUE) != FALSE)