--- libfreerdp/core/nla.c.orig 2018-03-19 14:33:08.179172000 -0800 +++ libfreerdp/core/nla.c 2018-03-19 14:40:16.907215000 -0800 @@ -1663,15 +1663,19 @@ 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) {