Commit Graph

16 Commits

Author SHA1 Message Date
Clive Stevens
5528b152ec Fix two cases of leaked regions in gdi/gfx 2015-05-20 12:35:24 +01:00
Norbert Federa
ef1fd12b15 Fix unchecked CreateEvent calls and misc fixes
1)
Added missing checks for CreateEvent which also required the
following related changes:

- changed freerdp_context_new API to BOOL
- changed freerdp_peer_context_new API to BOOL
- changed pRdpClientNew callback to BOOL
- changed pContextNew callback to BOOL
- changed psPeerAccepted callback to BOOL
- changed psPeerContextNew callback to BOOL

2)
Fixed lots of missing alloc and error checks in the
changed code's neighbourhood.

3)
Check freerdp_client_codecs_prepare result to avoid segfaults
caused by using non-initialized codecs.

4)
Fixed deadlocks in x11 caused by missing xf_unlock_x11() calls
in some error handlers

5)
Some fixes in thread pool:
- DEFAULT_POOL assignment did not match TP_POOL definition
- don't free the pool pointer if it points to the static DEFAULT_POOL
- added error handling and cleanup in InitializeThreadpool
2015-04-29 18:18:39 +02:00
Norbert Federa
84577b1ca7 codec/rfx: error checking and various fixes
- removed some unneeded null checks for free()
- fixed a memory leak in shadow_client
- removed rfx_compose_message_header from API

Changed the following functions to BOOL, check the result
where they are called and handle failures:
- rfx_compose_message
- rfx_compose_message_header
- rfx_write_tile
- rfx_write_message_tileset
- rfx_write_message_frame_begin
- rfx_write_message_region
- rfx_write_message_frame_end
- rfx_write_message

rfx_process_message:
- check memory allocation failures
- verify protocol-conform order of data messages to prevents memory
  leaks caused by repeated allocations
- verify that header messages were parsed/received before the
  data messages
- treat unknown rlgr mode as error
- fixed/added error handling
- fixed all callers to check/handle result

rfx_encode_message:
- fixed incorrect usage of realloc
- missing malloc check
- missing check of CreateThreadpoolWork
- correct cleanup on failure (threadpool, memory)
- check rfx_encode_message result

rfx_encode_messages:
- check rfx_split_message result
- correct cleanup on failure
- prevent memory leak on failure

rfx_write_message_context:
- fixed invalid channelId value (must be 0xFF for WBT_CONTEXT)

rfx_process_message_codec_versions:
- fixed invalid read size of codec_version (it is 16bit)

rfx_process_message_channels:
- verify protocol conform channelId value

rfx_process_message_region:
- replaced invalid reallocs with malloc
- read and verify regionType and numTileSets from stream

rfx_process_message_tileset:
- check allocation results
- fixed incorrect usages of realloc

setupWorkers:
- fixed incorrect usages of realloc

rfx_split_message:
- removed dead code
- missing malloc check

rfx_compose_message:
- fixed a memory leak
- check/handle rfx_encode_message result
2015-04-23 15:42:21 +02:00
Bernhard Miklautz
90579ae16f gdi/gfx: remove unused variables 2015-03-25 17:38:21 +01:00
Armin Novak
7fc9f98d3c Updated h264_decompress arguments. 2015-01-22 13:24:15 +01:00
Armin Novak
07051fb3d1 Fixed memory leaks. 2014-11-16 23:00:13 +01:00
Marc-André Moreau
9daa8bd36f libfreerdp-gdi: handle egfx desktop resize 2014-09-25 22:08:10 -04:00
Marc-André Moreau
02c1bf14ce libfreerdp-gdi: fix gdi_init 2014-09-17 19:44:59 -04:00
Marc-André Moreau
2a5192b027 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	client/Windows/wf_cliprdr.h
	client/Windows/wf_event.h
	client/X11/xf_client.c
	client/X11/xf_gdi.c
	libfreerdp/gdi/gdi.c
	server/Mac/mf_input.c
2014-09-17 19:09:56 -04:00
Marc-André Moreau
73471eb1f0 libfreerdp-gdi: fix 8bpp mode 2014-09-17 18:30:09 -04:00
Marc-André Moreau
3b02eccc06 libfreerdp-gdi: fix 16bpp internal buffer format 2014-09-17 14:55:52 -04:00
Marc-André Moreau
1b7a84419c xfreerdp: partial fix for X11 16bpp mode 2014-09-16 19:12:26 -04:00
Marc-André Moreau
c40d8155a6 libfreerdp-gdi: fix SurfaceToSurface overlapping copies 2014-09-16 17:41:24 -04:00
Marc-André Moreau
1837c34e6e libfreerdp-codec: add BGR support to egfx 2014-09-16 16:55:47 -04:00
Armin Novak
06b609062d Removed remaining printf and DEBUG_* usages. 2014-09-15 09:01:05 +02:00
Marc-André Moreau
198f94fe03 libfreerdp-gdi: add RDP8 graphics pipeline support 2014-09-12 14:57:44 -04:00