From 95058c64d193939465666419319f384c48d1a0a2 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Wed, 24 Feb 2016 20:16:33 +0100 Subject: [PATCH] Fixed argument checks and return values. --- libfreerdp/core/timezone.c | 13 ++++++++++++- libfreerdp/core/timezone.h | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/libfreerdp/core/timezone.c b/libfreerdp/core/timezone.c index 1aee3ba..637afa6 100644 --- a/libfreerdp/core/timezone.c +++ b/libfreerdp/core/timezone.c @@ -82,10 +82,15 @@ BOOL rdp_read_client_time_zone(wStream* s, rdpSettings* settings) { LPTIME_ZONE_INFORMATION tz; + if (!s || !settings) + return FALSE; + if (Stream_GetRemainingLength(s) < 172) return FALSE; tz = settings->ClientTimeZone; + if (!tz) + return FALSE; Stream_Read_UINT32(s, tz->Bias); /* Bias */ @@ -111,12 +116,15 @@ BOOL rdp_read_client_time_zone(wStream* s, rdpSettings* settings) * @param settings settings */ -void rdp_write_client_time_zone(wStream* s, rdpSettings* settings) +BOOL rdp_write_client_time_zone(wStream* s, rdpSettings* settings) { LPTIME_ZONE_INFORMATION tz; DWORD rc; tz = settings->ClientTimeZone; + if (!tz) + return FALSE; + rc = GetTimeZoneInformation(tz); /* Bias */ @@ -146,4 +154,7 @@ void rdp_write_client_time_zone(wStream* s, rdpSettings* settings) /* DaylightBias */ Stream_Write_UINT32(s, tz->DaylightBias); DEBUG_TIMEZONE("DaylightBias=%d", tz->DaylightBias); + + return TRUE } + diff --git a/libfreerdp/core/timezone.h b/libfreerdp/core/timezone.h index d409409..92b2c7a 100644 --- a/libfreerdp/core/timezone.h +++ b/libfreerdp/core/timezone.h @@ -32,7 +32,7 @@ #include BOOL rdp_read_client_time_zone(wStream* s, rdpSettings* settings); -void rdp_write_client_time_zone(wStream* s, rdpSettings* settings); +BOOL rdp_write_client_time_zone(wStream* s, rdpSettings* settings); #define TIMEZONE_TAG FREERDP_TAG("core.timezone") #ifdef WITH_DEBUG_TIMEZONE -- 2.7.4