Commit Graph

59 Commits

Author SHA1 Message Date
Armin Novak
09d43a66f4 Fixed tests and dead store warnings. 2017-03-28 16:49:56 +02:00
Armin Novak
b2c29158be Scanbuild warning, argument checks and leak fixes.
* Added Stream_GetRemainingCapacity to check remaining stream size
  before writes.
* Fixed shadow server memory leak.
* Fixed lots of scanbuild warnings
* Added missing argument checks in many functions
* Added missing static function declarations
2017-03-02 18:13:43 +01:00
Norbert Federa
f71b6b46e8 fix string format specifiers
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Norbert Federa
e718fb324b fix race conditions, tests and some invalid return values
Since the current winpr implementation for overlapped operations is
incomplete and buggy, all affected functions will now fail if they are
called with a set FILE_FLAG_OVERLAPPED flag or a non-null pointer to
a OVERLAPPED structure.

winpr/nt:
- use proper one-time initialization on win32
- fix TestNtCreateFile
- fix broken/incomplete _RtlAnsiStringToUnicodeString
- unimplemented functions return appropriate error codes

winpr/pipe:
- improved TestPipeCreateNamedPipe
- rewrite the completely broken TestPipeCreateNamedPipeOverlapped test

rdtk:
- improve test and don't blindly return success

winpr/synch:
- fix race condition in TestSynchTimerQueue

winpr/ssspi:
- fix TestEnumerateSecurityPackages printf output
- fix TestQuerySecurityPackageInfo printf output

winpr/environment:
- fix GetEnvironmentStrings printf output

winpr/comm:
- unimplemented functions return appropriate error codes

winpr/io:
- unimplemented functions return appropriate error codes

winpr/thread:
- implement SwitchToThread() via sched_yield()
2016-06-01 16:26:26 +02:00
Armin Novak
436be2441a Implemented SetFileTime 2016-02-26 11:00:17 +01:00
Armin Novak
19744f3bb8 Added additional file functions and tests. 2015-12-09 18:29:16 +01:00
Bernhard Miklautz
68e8569110 winpr/synch: remove the dependency on winsock.h
winsock.h pulls in a lot of defines and dependencies that are not
required and partially unwanted in winpr's core (for parts that are not
related to network). In order to get rid of this dependency and have an
independent defines for extended winpr functions the WINPR_FD_* defines
are used internally (and for exposed functions). Where required, like in
WSAEventSelect, the FD_* is mapped to WINPR_FD_*.
2015-07-14 11:39:41 +02:00
Armin Novak
d18b0fbeb4 Handle API updated. 2015-07-03 09:52:52 +02:00
Hardening
f8120919af Add checks for some XXX_New and XXX_Add functions
Based on PR #2616
2015-05-18 11:28:00 +02:00
Norbert Federa
1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Norbert Federa
f9f59cd29b Fix unchecked CreateDirectory calls 2015-05-07 13:28:13 +02: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
b3ea02a777 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
Armin Novak
54cb89f303 Fixed pipe cleanup. 2015-03-23 14:10:49 +01:00
David FORT
552df08926 Implement ReadFile() and WriteFile() as handle operation 2015-03-16 21:29:19 +01:00
David FORT
a9020a34c2 Changes for upstream changes on pipe 2015-03-16 10:40:38 +01: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
Armin Novak
2d5bdcf3bb Proper default values for fds. 2015-03-14 00:49:49 +01:00
Armin Novak
0201f61d19 Fixed missing callbacks for named pipes. 2015-03-14 00:34:44 +01:00
Armin Novak
98b0f37020 Initializing handles with calloc now. 2015-03-11 18:09:22 +01:00
Armin Novak
0630ad88b5 Using new handle cleanup structure 2015-03-11 17:57:01 +01:00
Armin Novak
a6f27f48ea Using handle close callback now. 2015-03-11 15:11:03 +01:00
Hardening
5dddd977f2 Check return value for fcntl() 2015-02-10 10:08:39 +01:00
Armin Novak
9903c87ed2 Prettiefied WLog messages. 2015-01-20 11:05:18 +01:00
Armin Novak
58d1853de7 Fixed missing return check. 2014-11-16 15:25:10 +01:00
Armin Novak
b22b897389 Reformatted changed files. 2014-09-09 16:32:22 +02:00
Armin Novak
7e3a1b3073 Now using macro to generate module specific log tag. 2014-09-09 16:32:04 +02:00
Armin Novak
28ece6bb46 Replaced stdio logging with WLog 2014-09-09 16:31:46 +02:00
Norbert Federa
5d82ff3c5d winpr: fixed non monolithic build issue 2014-05-28 16:22:32 +02:00
Norbert Federa
aa2efaf573 winpr: rewrite named pipe sharing
Since commit 5e09e37d42 was basically unfixable,
here is a slightly different approach that should hopefully solve all
discovered issues and race conditions.
2014-05-28 13:54:08 +02:00
Marc-André Moreau
06d36c7084 libwinpr-pipe: fix circular dependency 2014-05-08 17:17:39 -04:00
Marc-André Moreau
4dc6ffdaaa Merge branch 'awakecoding' of github.com:vworkspace/FreeRDP
Conflicts:
	winpr/libwinpr/pipe/pipe.c
2014-05-08 16:38:21 -04:00
Zhang Zhaolong
dcbf5bd0ed libwinpr: fix memory leak in case of error. 2014-04-26 11:53:08 +08:00
Mike McDonald
b9d5687e99 Added initializer for global BaseNamedPipeList per code review. 2014-04-18 15:11:26 -04:00
Mike McDonald
d8c1133201 Changes to named pipe functions based on code review. 2014-04-18 14:02:44 -04:00
Mike McDonald
5e09e37d42 Modified named pipes to support multiple instances (i.e., multiple calls to CreateNamedPipe with the same pipe name). 2014-04-18 13:16:42 -04:00
Bernhard Miklautz
adff58f48d winpr/pipe: fix variable type - unsigned to signed
fcntl returns int. Comparison to 0 < always returned false.
2014-04-17 10:02:41 +02:00
Marc-André Moreau
1697469ced libwinpr-file: implement further AIO-based overlapped I/O 2014-02-17 13:02:39 -05:00
Hardening
0129875bf2 Print human readable messages
Log why the pipe creation failed helps
2014-02-07 15:17:05 +01:00
Bernhard Miklautz
bab5c22f9e winpr-pipe: fixed memory leak in WaitNamedPipeA 2013-10-15 13:09:13 +02:00
Marc-André Moreau
8695c5226b libwinpr-file: added more error checking 2013-10-01 12:03:08 -04:00
Marc-André Moreau
480071cdeb libwinpr-io: improve overlapped io with server-side named pipes 2013-09-25 23:16:33 -04:00
Marc-André Moreau
f4e98f29ec libwinpr-pipe: add server-side named pipe waiting 2013-09-25 19:13:39 -04:00
Marc-André Moreau
979ed1b756 libwinpr-pipe: implement WaitNamedPipe 2013-09-23 18:10:21 -04:00
Marc-André Moreau
518995a05e freerdp: merge with master 2013-09-16 17:10:27 -04:00
Armin Novak
64c3aafcc6 Fixed coverity issue 1047602 2013-09-05 12:14:32 +02:00
Marc-André Moreau
8423fccbc2 libwinpr-pipe: add support for overlapped i/o with named pipes (synchronous, compatible implementation) 2013-08-22 22:36:37 -04:00
Marc-André Moreau
913d532e0d winpr: fix build on Linux 2013-07-30 10:57:54 -04:00