Commit Graph

105 Commits

Author SHA1 Message Date
akallabeth
6b36c6d417
Replace fopen and path functions with wrappers (#7043)
Functions like fopen, PathFileExists, PathMakePath need to call
the wide character versions on windows for utf-8 support.
2021-05-31 11:42:03 +02:00
Marc-André Moreau
eb6777ea69 Fix Windows Unicode file path handling issues (+add winpr_fopen wrapper) 2021-05-26 08:40:29 +02:00
akallabeth
b494a193db Refactored certificate API:
* Proper encapsulation
* known_hosts2 backend extended (storing PEM)
* New backend storing each host certificate in a file
2021-05-11 08:00:18 +02:00
Biswapriyo Nath
3a1168cbda Check _MSC_VER for MSVC specific pragma directives. 2021-04-28 17:11:31 +02:00
Armin Novak
54e02e1642 Use wide char file paths for license 2021-02-04 21:22:21 +01:00
Armin Novak
72ca88f49c Reformatted to new style 2019-11-07 10:53:54 +01:00
Armin Novak
b1d0eaff6d Fix #5603: Prefer absolute path for /drive: syntax. 2019-09-24 16:42:27 +02:00
Armin Novak
309fe960f7 Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
22eddef668 Fixed wide character comparison. 2019-02-08 09:20:58 +01:00
Armin Novak
9c5c722aaa Fixed use of ASCII function on WCHAR 2019-01-30 18:05:49 +01:00
akallabeth
0a8ebcfcac
Merge pull request #5187 from astrand/mingw-part1
Mingw build fixes part1
2019-01-29 10:46:21 +01:00
Armin Novak
4f1462b73b Added fix for OS2 paths.
Reported on mailing list by Andrey Vasilkin
2019-01-18 13:13:41 +01:00
Peter Åstrand (astrand)
30cd1ba1ab Use lowercase for includes and libs
Makes build possible on case sensitive systems such as MinGW on Linux.
2019-01-09 09:36:28 +01:00
Armin Novak
22be8f21ae Fix length type, use size_t 2018-12-04 09:34:22 +01:00
Armin Novak
a2cd934184 Fixed windows build warnings. 2018-11-15 09:01:53 +01:00
Richard Markiewicz
ee7b5460b5 freerdp - fix iOS directory paths 2018-10-04 16:54:40 -04:00
Armin Novak
62c1696d4c Removed use of unchecked sprintf 2018-08-27 14:34:42 +02:00
Ilya Shipitsin
14c15c680d resolve several possible null pointer dereference
issue detected by cppcheck

[channels/drive/client/drive_main.c:454] -> [channels/drive/client/drive_main.c:443]: (warning) Either the condition '!irp' is redundant or there is possible null pointer dereference: irp.
[client/X11/xf_window.c:582] -> [client/X11/xf_window.c:580]: (warning) Either the condition '!xfc' is redundant or there is possible null pointer dereference: xfc.
[winpr/libwinpr/path/test/TestPathShell.c:40] -> [winpr/libwinpr/path/test/TestPathShell.c:43]: (warning) Either the condition '!path' is redundant or there is possible null pointer dereference: path.
[winpr/libwinpr/path/test/TestPathShell.c:49] -> [winpr/libwinpr/path/test/TestPathShell.c:52]: (warning) Either the condition '!path' is redundant or there is possible null pointer dereference: path.
2018-03-24 17:46:39 +05:00
Armin Novak
7305828122 Fix #4239: Various memory leaks
* Fixed all tests, now can be run with -DWITH_ADDRESS_SANITIZER=ON compiled.
* Enabled address sanitizer for nightly builds.
2017-12-12 11:40:48 +01:00
akallabeth
f0fb219580 Merge pull request #4041 from wayk/PathMakePathA
Fixed PathMakePathA (returned true even if it can't create the last f…
2017-07-17 12:26:48 +02:00
François Dubois
2a1fde25c8 Fixed PathMakePathA (returned true even if it can't create the last folder of the path) 2017-07-12 14:47:08 -04:00
David PHAM-VAN
5a66fe841a Misc Fixes 2017-03-17 14:07:33 -07:00
David PHAM-VAN
b89bfaaae4 Add missing functions to WinPR 2017-03-13 14:18:37 -07:00
Armin Novak
99c45405cb Fixed GetEnvironmentVariable. 2017-03-03 12:43:00 +01:00
Armin Novak
e9b5d78673 Fixed scanbuild warnings. 2017-02-20 14:28:33 +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
Marc-André Moreau
53a61f512c winpr: fix UWP portability 2016-12-02 13:18:55 -05:00
Armin Novak
9c64e77a84 Disabled thread local storage on iOS.
iOS does not support Thread Local Storage.
Disabling it for now until a solution is found.
Print a compiler warning informing developers about this issue.
2016-10-06 13:43:10 +02:00
Armin Novak
081b57905f Added ios home and temp dir support. 2016-10-06 13:43:08 +02:00
Norbert Federa
62d73dcb75 winpr: fix PathMakePathA and TestWLog
PathMakePathA:
- This function had an endless loop if no native delimiter was in the string
- Use SHCreateDirectoryExA on Windows
- Replaced old code with a new implementation

TestWLog:
- Windows has no "/tmp" by default
- Use GetKnownPath(KNOWN_PATH_TEMP) for the WLog "outputfilepath"
2016-06-13 19:19:28 +02:00
Norbert Federa
a45ac8dad8 winpr/path: fix PathCchFindExtensionA and more
- PathCchFindExtensionA had an off-by-one error when verifying the
  required null termination
- TestPathCchFindExtension used unicode strings when testing the
  *A (ASCII) functions
- The PathAllocCombineW implementation (which is still buggy has
  hell) used strlen to calculate the lenght of unicode strings

TestPath now succeeds on WIN32
2016-05-26 18:36:02 +02:00
Marc-André Moreau
a192967a5b libwinpr-path: fix missing shlwapi.lib import 2016-03-30 10:58:36 -04:00
Marc-André Moreau
2201ac5266 winpr: fix PathFileExists on UWP 2016-03-25 12:20:51 -04:00
Marc-André Moreau
9211f44e46 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2016-03-15 20:19:15 -04:00
Martin Fleisz
0249b09677 winpr: Fix definition of PathFileExists on Win32 2016-03-14 14:08:48 +01:00
Marc-André Moreau
d0f413db12 winpr: initial port to Universal Windows Platform (UWP) 2016-02-05 16:28:45 -05:00
Armin Novak
61633a1c66 Fixed android build issues. 2016-02-01 15:21:07 +01:00
Armin Novak
b5288daea5 Fixed return values. 2015-11-03 17:32:42 +01:00
Bernhard Miklautz
06502e6a91 misc: integrate pull request feedback 2015-06-22 19:24:30 +02:00
Bernhard Miklautz
bf73f4e4f1 Fix unchecked strdups
* add missing checks
* adapt function return values where necessary
* add initial test for settings
2015-06-22 19:09:59 +02:00
Vic Lee
2e11eac79a Merge pull request #2675 from akallabeth/path_make_path
Added PathMakePath function.
2015-06-18 02:43:47 +00:00
Bernhard Miklautz
e8d41c8516 Merge pull request #2682 from nfedera/fix-hresult-winpr-path
winpr/path: more PathCch* fixes
2015-06-11 12:47:10 +02:00
Armin Novak
db7753bc8b Added RemoveDirectoryA, clean up test directories. 2015-06-09 13:16:28 +02:00
Armin Novak
7403cdc60c Added PathMakePath function. 2015-06-09 13:16:28 +02:00
Bernhard Miklautz
07407927c2 Merge pull request #2670 from akallabeth/windows_config_paths
Adjusted config paths
2015-06-09 12:35:45 +02:00
Norbert Federa
cdabfcf9e1 winpr/path: Denounce PathAllocCombine and more
Note: This commit does NOT really fix PathAllocCombine!

- print a warning message that the function is buggy and added a code
  comment describing the issues
- fix misuse of the S_FALSE HRESULT in error conditions
- prevent some segfaults
- check result of HeapAlloc

Fortunately PathAllocCombine is unused in FreeRDP
2015-06-08 14:33:19 +02:00
Norbert Federa
6823cb4a86 winpr/path: PathCchConvertStyle used S_FALSE
Use E_FAIL instead of S_FALSE which was used to indicate errors
although it is a HRESULT success code.
2015-06-08 14:33:19 +02:00
Norbert Federa
b93a25a9af winpr/path: umimplemented tests print a warning 2015-06-08 14:33:19 +02:00
Norbert Federa
d383f95335 winpr/path: unimpl. functions should not succeed
Unimplemented PathCch* functions now return E_NOTIMPL instead of the
HRESULT S_OK and print an error message.
2015-06-08 14:33:19 +02:00
Norbert Federa
c4cd60110a winpr: fix PathCchFindExtension
Fix multiple inplementation errors including the incorrect usage of S_FALSE.
Make this function behave like the Windows 8 implementation and
the according MSDN specification.

- return S_OK if the extension was NOT found
- if no extension was found, ppszExt must point to the string's terminating null
- return E_INVALIDARG if pszPath is not null-terminated within the cchPath range
- return E_INVALIDARG if pszPath is NULL
- return E_INVALIDARG if ppszExt is NULL
- return E_INVALIDARG if cchPath is Zero
- return E_NOTIMPL instead of S_OK in PathPathCchFindExtensionW()

Also extended/fixed the TestPathCchFindExtension ctest
2015-06-08 14:33:19 +02:00