Commit Graph

120 Commits

Author SHA1 Message Date
akallabeth
45860a5561 Fixed issues with clang sanitizers and alignemt offsets. 2020-05-20 15:10:07 +02:00
akallabeth
7540384db1 utf8 behaviour fixes 2020-05-20 15:10:07 +02:00
akallabeth
bc0a2c277d Silence valgrind in unicode conversion functions
Only check destination buffer for NULL if length argument did not
already indicate the buffer needs to be allocated.
2020-05-08 11:04:03 +02:00
Armin Novak
ebf44f80eb Fixed format string warnings. 2020-04-11 09:43:01 +02:00
Armin Novak
72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
Armin Novak
f01e042211 Code cleanups (strlen, casts, size_t, ...) 2019-10-29 11:58:43 +01:00
Armin Novak
9bee5e80ee Fixed memory leak 2019-05-08 15:12:40 +02:00
Bernhard Miklautz
f867c90e4c
Merge pull request #5308 from akallabeth/fix_win32_overlinking
Fixed windows overlinking.
2019-05-03 12:01:51 +02:00
Armin Novak
f33e494884 Disabled -Wimplicit-fallthrough for instances where its use is intended. 2019-04-05 09:14:35 +02:00
Armin Novak
6f3808a224 Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
8e0565b2bd Fixed windows overlinking. 2019-03-18 15:10:21 +01:00
Armin Novak
9566ae0e90 Fixed mac compilation warnings. 2019-02-21 17:30:12 +01:00
Armin Novak
1e644fc37e Added _wcsnlen function for WCHAR string length. 2018-12-10 12:39:32 +01:00
Armin Novak
71036fe0b2 Fixed #2039: Check for overflow in calculations. 2018-11-09 10:50:53 +01:00
Armin Novak
609a4eb6ae Fixed ICU support for CP_ACP 2018-01-16 10:37:19 +01:00
Armin Novak
f143fcc298 Fixed data type, eliminate warning. 2017-08-16 15:45:11 +02:00
Armin Novak
1868acb0ac Using ICU instead of custom unicode conversion.
If WITH_ICU CMake option is set the unicode conversion routines
use ICU instead of custom conversion code.
2017-07-26 13:00:45 +02:00
Armin Novak
0490aeb018 Fixed clang malloc integer overflow warnings. 2017-07-20 09:29:48 +02:00
Armin Novak
b0289e3ed8 Fixed cast warnings. 2017-04-10 10:39:01 +02:00
David Fort
9fd3974817 Merge pull request #3864 from DavBfr/rewrite-disk-redirection
Rewrite disk redirection using WinPR
2017-04-06 17:32:21 +02:00
David Fort
b33371fe65 Fixed typo 2017-03-21 10:31:21 +01:00
David PHAM-VAN
5a66fe841a Misc Fixes 2017-03-17 14:07:33 -07:00
David PHAM-VAN
38507bae9f add _wcsrchr function 2017-03-13 14:18:42 -07: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
Armin Novak
6900b5eb77 Fixed scanbuild warnings. 2017-02-20 14:32:54 +01:00
Norbert Federa
ab0408ae5e ctest for int format specifiers and usage doc 2016-12-16 14:20:30 +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
Ondrej Holy
b8f33aa59c winpr/crt: Make TestString endian-independent
Wide char strings use always little endian encoding since commit f722dc5.
Use only strings in little endian to make the tests endian-independent.
2016-06-10 18:18:47 +02:00
Ondrej Holy
bbcc0476c7 winpr/crt: Fix endianness in string utils
All WCHAR strings are stored as little endian after commit f722dc5,
therefor WCHAR string utils have to be changed appropriately.
2016-06-10 18:18:39 +02:00
Ondrej Holy
1903537f09 winpr/crt: Make TestUnicodeConversion endian-independent
Half of the tests expects strings in little endian byte order, half of
the tests expects byte order based on a current architecture, so it
obviously can't work on big endian machines. Wide char strings use
always little endian encoding since commit f722dc5. Use only strings
in little endian to make the tests endian-independent.
2016-06-02 11:13:36 +02:00
Ondrej Holy
8d468ea6b5 winpr/crt: Fix endianness in WCHAR case conversions
All WCHAR strings are stored as little endian after commit 12dfc5e9,
therefor CharUpperBuffW and CharLowerBuffW have to be changed appropriately
in order to fix NTLM authentication.

https://github.com/FreeRDP/FreeRDP/issues/2520
2016-05-30 13:37:15 +02:00
Ondrej Holy
f722dc5c28 winpr/crt: Fix endianness in unicode conversions
Unicode conversions doesn't work on big endian machines currently.
The strings are stored as little endian. Use conversion macros from
endian.h to load and store the data properly.

Let's use wide char strings always as little endian. It seems that
Windows API also always expects data to be little endian, so it
makes sense to require wide char strings as little endian also.

The patches fixes transformations between UTF8 and UTF16 only, which are
used by freerdp. UTF32 transformations are not used by freerdp.

https://github.com/FreeRDP/FreeRDP/issues/2520
2016-05-30 13:37:15 +02:00
Marc-André Moreau
ceefc4b099 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2016-03-07 10:19:50 -05:00
Norbert Federa
ef4b29e5b3 ConvertFromUnicode fixes and misc hardening
- Added missing ConvertFromUnicode checks
- If ConvertToUnicode allocates memory, guarantee the null termination
  similar to ConvertFromUnicode's implementation
- Fixed some TestUnicodeConversion.c CTest return values
- Added some CTests for ConvertFromUnicode and ConvertToUnicode
- Misc code and protocol hardening fixes in the surrounding code regions
  that have been touched
2016-03-03 16:56:19 +01:00
Armin Novak
68c402ac58 Removed windows module.def files.
All symbols exported from libraries are declared
using *_API defines.
2016-02-29 15:18:47 +01:00
Marc-André Moreau
d0f413db12 winpr: initial port to Universal Windows Platform (UWP) 2016-02-05 16:28:45 -05:00
Armin Novak
6b406bdcda Not building GetLine on android and ios. 2016-02-05 02:05:37 +01:00
Armin Novak
5e46a6e4be Replaced getline with custom GetLine. 2016-02-05 02:05:37 +01:00
Armin Novak
cf9f975341 Replaced snprintf with sprintf_s 2015-07-03 13:26:15 +02:00
Armin Novak
d6e1a0a25f Added StrSep function. 2015-06-09 15:32:50 +02:00
Bernhard Miklautz
f9c7e03044 winpr: add intrin.h
Exposing lzcnt in crt.h might causes compiler errors (redefinition) with
recent versions of gcc (>=4.9) when winpr is included in other projects.
As lzcnt isn't part of crt according to MSDN and also shouldn't be
exported by default it was moved to intrin.h.

The related test was also moved to the top level directory of winpr.
2015-05-26 16:41:29 +02:00
Bryan Everly
cb66f3ee70 Removed compiler warning about obsolete header file in OpenBSD 2015-04-22 09:50:50 -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
Bernhard Miklautz
b8e41b843d aligned memory: fixes in _aligned_offset_recalloc
* _aligned_offset_recalloc did ignore the nmemb element
  therefore only *one* element was allocated
* in case memblock was NULL the allocated memory
  wasn't zeroed
* restructure realloc and recalloc to check if the memory was initially
  created aligned before allocating a new segment
2015-04-08 11:34:37 +02:00
Petr Sumbera
17df42e4b5 Fixes some build issues on Solaris 11. 2015-02-02 08:48:54 -08:00
Armin Novak
feeb4e4713 Prettiefied WLog messages. 2015-01-20 11:05:56 +01:00
Marc-André Moreau
f6b3b24c22 winpr: add new line ending, utf16 byte order swap functions 2014-10-16 18:07:44 -04: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