diff --git a/libfreerdp/core/info.c b/libfreerdp/core/info.c index 8c0bf7002..e63d12323 100644 --- a/libfreerdp/core/info.c +++ b/libfreerdp/core/info.c @@ -545,8 +545,8 @@ static BOOL rdp_write_extended_info_packet(rdpRdp* rdp, wStream* s) if (!Stream_EnsureRemainingCapacity(s, 10ull)) goto fail; - Stream_Write_UINT32( - s, settings->ClientSessionId); /* clientSessionId (4 bytes), should be set to 0 */ + /* clientSessionId (4 bytes), should be set to 0 */ + Stream_Write_UINT32(s, settings->ClientSessionId); freerdp_performance_flags_make(settings); Stream_Write_UINT32(s, settings->PerformanceFlags); /* performanceFlags (4 bytes) */ Stream_Write_UINT16(s, cbAutoReconnectCookie); /* cbAutoReconnectCookie (2 bytes) */ @@ -557,20 +557,15 @@ static BOOL rdp_write_extended_info_packet(rdpRdp* rdp, wStream* s) goto fail; if (!rdp_write_client_auto_reconnect_cookie(rdp, s)) /* autoReconnectCookie */ goto fail; - - if (!Stream_EnsureRemainingCapacity(s, 4ull)) - goto fail; - Stream_Write_UINT16(s, 0); /* reserved1 (2 bytes) */ - Stream_Write_UINT16(s, 0); /* reserved2 (2 bytes) */ } if (freerdp_settings_get_bool(settings, FreeRDP_SupportDynamicTimeZone)) { - if (!Stream_EnsureRemainingCapacity(s, 10 + 254 * sizeof(WCHAR))) + if (!Stream_EnsureRemainingCapacity(s, 8 + 254 * sizeof(WCHAR))) goto fail; - /* skip reserved1 and reserved2 fields */ - Stream_Seek(s, 4); + Stream_Write_UINT16(s, 0); /* reserved1 (2 bytes) */ + Stream_Write_UINT16(s, 0); /* reserved2 (2 bytes) */ size_t rlen = 0; const char* tz = freerdp_settings_get_string(settings, FreeRDP_DynamicDSTTimeZoneKeyName);