Commit Graph

226 Commits

Author SHA1 Message Date
Norbert Federa
1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Norbert Federa
25fc866a58 Fix unchecked CreateThread calls and misc fixes 2015-05-05 13:55:48 +02:00
MartinHaimberger
9a4f645f78 Merge pull request #2582 from nfedera/fix-2015-04-28-01
Fix unchecked CreateEvent calls and misc fixes
2015-05-04 10:14:27 +02:00
Bernhard Miklautz
dd2e7f393d Merge pull request #2584 from baruchsiach/fix-eventfd-2
Fix build with newer uclibc versions
2015-04-30 14:20:33 +02:00
Baruch Siach
3b7d3190a1 Fix build with newer uclibc versions
uClibc master branch, as well as uclibc-ng add eventfd_{read,write}
definitions. Instead of testing for __UCLIBC__, have cmake explicitly check
for the existence of eventfd_read and save the result in
WITH_EVENTFD_READ_WRITE.

Fixes build errors like:

.../winpr/libwinpr/synch/event.c:120:12: error: static declaration of 'eventfd_read' follows non-static declaration
 static int eventfd_read(int fd, eventfd_t* value)
            ^
In file included from .../winpr/libwinpr/synch/event.c:39:0:
.../usr/include/sys/eventfd.h:37:12: note: previous declaration of 'eventfd_read' was here
 extern int eventfd_read (int __fd, eventfd_t *__value);
            ^
.../winpr/libwinpr/synch/event.c:125:12: error: static declaration of 'eventfd_write' follows non-static declaration
 static int eventfd_write(int fd, eventfd_t value)
            ^
In file included from .../winpr/libwinpr/synch/event.c:39:0:
.../usr/include/sys/eventfd.h:40:12: note: previous declaration of 'eventfd_write' was here
 extern int eventfd_write (int __fd, eventfd_t __value);
2015-04-29 20:31:25 +03: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
b7fccafb94 Added EBUSY to success states. 2015-04-29 08:48:07 +02:00
Armin Novak
07ee198203 Better error handling on mutex destroy. 2015-04-28 17:31:27 +02:00
Armin Novak
fe27913859 Ensuring mutex is unlocked on destroy. 2015-04-28 09:42:46 +02:00
Armin Novak
ac15ce2da8 Added mutex debug flag.
When mutex debugging is enabled now a stack trace
is logged, if a mutex is locked on destruction.
2015-04-28 08:55:49 +02:00
Armin Novak
5911332dfe Fixed pthread_mutex_timedjoin detection. 2015-04-22 09:32:59 +02:00
Bryan Everly
d31301f73f Modified code to use bulitin pthread functions on OpenBSD 2015-04-21 16:14:56 -04:00
Bryan Everly
8c75127a67 Necessary changes to get latest branch working on OpenBSD 5.6 2015-04-21 14:42:06 -04:00
Bernhard Miklautz
850de59b55 winpr: add checks for *alloc
Add missing checks if memory allocation was successful. Also adapt
caller(s) when possible.
2015-04-08 11:34:37 +02:00
Armin Novak
853ac63afd Removed INVALID_HANDLE_VALUE. 2015-03-31 15:18:46 +02:00
Armin Novak
bd55b0df80 Removed INVALID_HANDLE_VALUE from types not using it. 2015-03-31 15:18:45 +02:00
Armin Novak
afe8bd2a86 Fixed missing checks for invalid handle. 2015-03-31 15:18:45 +02:00
Bernhard Miklautz
3c7662517c hardening
Start to add missing checks for:
* *alloc
* *_New
2015-03-25 17:38:21 +01:00
Marc-André Moreau
3c4bee3d95 libfreerdp-core: fix RDG valgrind issues 2015-03-17 16:54:45 -04:00
David FORT
52bd4469d9 Make handle operations static
This patch moves the handle operations in a static struct.
2015-03-16 10:31:26 +01:00
ivan-83
712b5e6174 * fix: /winpr/libwinpr/synch/timer.c:79:11: warning: implicit declaration of function 'read' is invalid in C99 2015-03-13 01:51:59 +03:00
Marc-André Moreau
dfc1238523 Merge pull request #2447 from ivan-83/master
Fix poor sound quality with ALSA, add OSS sound system support, FreeBSD patches
2015-03-12 10:09:02 -04:00
Armin Novak
13dce87403 Fixed missing return value check. 2015-03-11 18:14:50 +01:00
Armin Novak
98b0f37020 Initializing handles with calloc now. 2015-03-11 18:09:22 +01:00
Armin Novak
3594d39ba8 Using new handle cleanup structure 2015-03-11 17:57:01 +01:00
Armin Novak
1e43f2a953 Using new handle cleanup structure 2015-03-11 17:57:01 +01:00
Armin Novak
372927fedb Using new handle cleanup structure 2015-03-11 17:57:01 +01:00
Armin Novak
e701e802bb Using new handle cleanup structure 2015-03-11 17:57:01 +01:00
Armin Novak
33995e936c Using new handle cleanup structure 2015-03-11 17:57:01 +01:00
Armin Novak
1706c1f8db Using handle close callback now. 2015-03-11 15:11:20 +01:00
Armin Novak
15f9344c5b Using handle close callback now. 2015-03-11 15:11:17 +01:00
Armin Novak
4d471aacd6 Using handle close callback now. 2015-03-11 15:11:14 +01:00
Armin Novak
5520a1cafb Using handle close callback now. 2015-03-11 15:11:11 +01:00
ivan-83
434436b75f * BSD/FreeBSD build fix 2015-03-10 01:21:28 +03:00
Marc-André Moreau
ccf144e10f libwinpr-synch: fix test build on Win32 2015-02-17 18:44:09 -05:00
Marc-André Moreau
a4979456e5 Merge branch 'master' of github.com:FreeRDP/FreeRDP into gateway 2015-02-04 11:36:05 -05:00
Petr Sumbera
17df42e4b5 Fixes some build issues on Solaris 11. 2015-02-02 08:48:54 -08:00
Marc-André Moreau
85191391d5 libfreerdp-core: simplify TS Gateway RPC fragment receiving 2015-01-31 16:56:25 -05:00
Marc-André Moreau
3a906caa4a freerdp: add event handle usage instead of file descriptors 2015-01-29 22:57:58 -05:00
Marc-André Moreau
5bf8b1509e libfreerdp-core: improve socket BIO handling 2015-01-28 13:46:17 -05:00
Armin Novak
51cc567dc6 Fixed typo. 2014-11-16 23:52:22 +01:00
Armin Novak
a1761d8a7b Fixed memory leaks. 2014-11-16 23:10:33 +01:00
Armin Novak
e77a4fedc2 Fixed memory leak. 2014-11-16 17:06:42 +01:00
Armin Novak
ff3fcc24c1 Fixed unlocking if pthread_join fails. 2014-11-10 10:24:32 +01:00
Armin Novak
017e4a323e Locking thread until joined now, preventing multiple joins and race conditions. 2014-11-03 09:29:35 +01:00
Armin Novak
5bf25fd87c Fixed missing includes and typo. 2014-10-27 11:45:39 +01:00
Armin Novak
8f98f28ce8 Fixed merge errors. 2014-10-27 11:39:02 +01:00
Armin Novak
c6ed95d1bf Fixed typo 2014-10-27 11:28:13 +01:00
Armin Novak
7acdbdaa85 Error messages now prefixed with function name.
Implemented bWaitAll for WaitForMultipleObjects.
pthread_join now only called on first wait event, later ones skip this to avoid undefined behavior.
2014-10-27 11:28:11 +01:00
Armin Novak
c5bb6125c1 Added additional tests for WaitForSingleObject and WaitForMultipleObjects. 2014-10-27 11:23:18 +01:00