diff --git a/channels/rdpdr/server/rdpdr_main.c b/channels/rdpdr/server/rdpdr_main.c index 6779df7b6..6f20ab876 100644 --- a/channels/rdpdr/server/rdpdr_main.c +++ b/channels/rdpdr/server/rdpdr_main.c @@ -264,7 +264,7 @@ static int rdpdr_server_write_smartcard_capability_set(RdpdrServerContext* conte static int rdpdr_server_send_core_capability_request(RdpdrServerContext* context) { wStream* s; - BOOL status; + BOOL status = FALSE; RDPDR_HEADER header; UINT16 numCapabilities; ULONG written; @@ -291,13 +291,9 @@ static int rdpdr_server_send_core_capability_request(RdpdrServerContext* context goto out_error; Stream_SealLength(s); status = WTSVirtualChannelWrite(context->priv->ChannelHandle, (PCHAR) Stream_Buffer(s), Stream_Length(s), &written); - Stream_Free(s, TRUE); - return status ? 0 : -1; - out_error: Stream_Free(s, TRUE); - return -1; - + return status ? 0 : -1; } static int rdpdr_server_receive_core_capability_response(RdpdrServerContext* context, wStream* s, RDPDR_HEADER* header) diff --git a/channels/rdpsnd/client/pulse/rdpsnd_pulse.c b/channels/rdpsnd/client/pulse/rdpsnd_pulse.c index efb9660f1..ff23000e8 100644 --- a/channels/rdpsnd/client/pulse/rdpsnd_pulse.c +++ b/channels/rdpsnd/client/pulse/rdpsnd_pulse.c @@ -545,7 +545,7 @@ static void rdpsnd_pulse_play(rdpsndDevicePlugin* device, BYTE* data, int size) return; pcmData = rdpsnd_pulse_convert_audio(device, data, &size); - if (pcmData) + if (!pcmData) return; pa_threaded_mainloop_lock(pulse->mainloop); diff --git a/channels/rdpsnd/server/rdpsnd_main.c b/channels/rdpsnd/server/rdpsnd_main.c index 1a02e45dd..71aa97465 100644 --- a/channels/rdpsnd/server/rdpsnd_main.c +++ b/channels/rdpsnd/server/rdpsnd_main.c @@ -667,7 +667,7 @@ int rdpsnd_server_handle_messages(RdpsndServerContext *context) if (priv->expectedBytes) { if (!Stream_EnsureCapacity(s, priv->expectedBytes)) - return -1; + return 0; return 1; } } diff --git a/libfreerdp/core/orders.c b/libfreerdp/core/orders.c index 4716f35f5..66531b52b 100644 --- a/libfreerdp/core/orders.c +++ b/libfreerdp/core/orders.c @@ -944,7 +944,7 @@ int update_approximate_scrblt_order(ORDER_INFO* orderInfo, SCRBLT_ORDER* scrblt) BOOL update_write_scrblt_order(wStream* s, ORDER_INFO* orderInfo, SCRBLT_ORDER* scrblt) { - if (!Stream_EnsureRemainingCapacity(s, update_approximate_scrblt_order(orderInfo, scrblt))); + if (!Stream_EnsureRemainingCapacity(s, update_approximate_scrblt_order(orderInfo, scrblt))) return FALSE; orderInfo->fieldFlags = 0; diff --git a/libfreerdp/core/update.c b/libfreerdp/core/update.c index 5f17ce146..38c230267 100644 --- a/libfreerdp/core/update.c +++ b/libfreerdp/core/update.c @@ -115,7 +115,7 @@ BOOL update_read_bitmap_data(rdpUpdate* update, wStream* s, BITMAP_DATA* bitmapD BOOL update_write_bitmap_data(rdpUpdate* update, wStream* s, BITMAP_DATA* bitmapData) { if (!Stream_EnsureRemainingCapacity(s, 64 + bitmapData->bitmapLength)) - return TRUE; + return FALSE; bitmapData->flags = 0; bitmapData->cbCompFirstRowSize = 0; @@ -204,7 +204,7 @@ BOOL update_write_bitmap_update(rdpUpdate* update, wStream* s, BITMAP_UPDATE* bi int i; if (!Stream_EnsureRemainingCapacity(s, 32)) - return TRUE; + return FALSE; Stream_Write_UINT16(s, UPDATE_TYPE_BITMAP); /* updateType */