Commit Graph

20 Commits

Author SHA1 Message Date
David FORT
7c3f8f33ab Fixes for malloc / calloc + other fixes
This patch contains:

* checks for malloc return value + treat callers;
* modified malloc() + ZeroMemory() to calloc();
* misc fixes of micro errors seen during the code audit:
** some invalid checks in gcc.c, also there were some possible
integer overflow. This is interesting because at the end the data are parsed
and freed directly, so it's a vulnerability in some kind of dead code (at least
useless);
** fixed usage of GetComputerNameExA with just one call, when 2 were used
in misc places. According to MSDN GetComputerNameA() is supposed to return
an error when called with NULL;
** there were a bug in the command line parsing of shadow;
** in freerdp_dynamic_channel_collection_add() the size of array was multiplied
by 4 instead of 2 on resize
2015-06-22 19:21:47 +02:00
Norbert Federa
71a4349928 fixed multiple missing gdi return value checks
mainly gdi_Create* functions
2015-05-08 21:39:23 +02:00
David FORT
b09f6bedb7 Fix colors with the wayland client 2015-05-06 21:54:39 +02: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
Armin Novak
7524ea53c6 Updated to new freerdp_get_event_handles API. 2015-04-22 11:17:47 +02:00
Armin Novak
a07d1c4b97 Updated wayland client to new API. 2015-04-22 11:16:41 +02:00
Bernhard Miklautz
515502ffa5 change return types of callbacks to BOOL
* change all client/server callbacks to BOOL
* update all clients accordingly
* add multiple return value checks
* small fixes
2015-04-21 14:18:07 +02:00
Armin Novak
c380fb3520 Added flag to ignore unknown keywords
freerdp_client_settings_parse_command_line now allows ignoring
unknown keywords.
2015-03-16 10:15:37 +01:00
Marc-André Moreau
7af90f13ef wlfreerdp: fix unused variable warning 2015-02-04 11:40:19 -05:00
Armin Novak
c935b4390e Using freerdp_channels_disconnect now. 2015-01-20 11:24:36 +01:00
Manuel Bachmann
a9cf8b5838 wlfreerdp: add keyboard and mouse wheel support, fix bugs
This commit does the following:

* fix the keyboard logic (which now fully works), add support for vertical mouse wheel events ;
* make the rendering a lot more efficient, by using RDP damage information to refresh only the relevant part of the buffer ;
* fix two race conditions. wlfreerdp should not crash anymore now ;
* fix shm_open() and shm_unlink() calls ;
* improve the code style.

Signed-off-by: Manuel Bachmann <tarnyko@tarnyko.net>
2014-11-26 10:46:05 +01:00
Manuel Bachmann
15d37e9be0 wlfreerdp: fix minor error in command line printing
One argument was missing in status_print().

Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
2014-11-17 16:58:50 +01:00
Manuel Bachmann
93ff550ae0 wlfreerdp: reorganize source files, add input methods
We split the one massive source file into multiple separate
source files and headers, just like it is done for other
clients.

We add a new "wlfInput" interface which will try to
initialize mouse and keyboard at startup. Mouse inputs
already work, keyboard inputs need further investigation.

Signed-off-by: Manuel Bachmann <tarnyko@tarnyko.net>
2014-11-17 16:42:27 +01:00
Marc-André Moreau
8a7a71a7b6 Merge pull request #2213 from akallabeth/wlog_callback_appender
Wlog callback appender
2014-11-17 09:41:58 -05:00
Armin Novak
b9908af64a Fixed memory leaks. 2014-11-16 16:02:28 +01:00
Armin Novak
ca7052fa84 Fixed realloc return check. 2014-11-16 15:28:01 +01:00
Armin Novak
8d4589b1e1 Replaced fprintf error messages with WLog. 2014-11-16 12:21:38 +01:00
Manuel Bachmann
0a2b452e35 wlfreerdp: validate the TLS certificate interactively
Allow the user to decide if he trusts a new certificate
or not, just like we do with xfreerdp ; this allow running
wlfreerdp without using xfreerdp prior for this sole task.

Signed-off-by: Manuel Bachmann <tarnyko@tarnyko.net>
2014-11-12 17:10:00 +01:00
pf packet
5feb674d44 wlfreerdp: fix compilation errors
This commit fixes the following errors
by removing or replacing old functions:
wlfreerdp.c:(.text.startup+0xc): undefined reference to
`freerdp_channels_global_init'
wlfreerdp.c:(.text.startup+0x72): undefined reference to
`freerdp_client_parse_command_line_arguments'
wlfreerdp.c:(.text.startup+0x9b): undefined reference to
`freerdp_channels_global_uninit'
2014-10-17 00:08:15 +09:00
Manuel Bachmann
d48adecd6c wlfreerdp: initial Wayland client
Implement an initial Wayland client, which will build if
the wayland-client development libraries are detected
(or if -DWITH_WAYLAND:BOOL=ON is set). It is currently
view-only, but inputs will be implemented soon.

It uses the software SHM interface, which means it does not
require GL acceleration to run. It should be compatible
with any compositor

Signed-off-by: Manuel Bachmann <tarnyko@tarnyko.net>
2014-10-13 12:23:23 +02:00