Commit graph

219 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto 127fa1afc6
[RTL] Fix RtlValidateUnicodeString() regarding the tests and add some SAL annotations. 2020-01-02 21:11:28 +01:00
Victor Perevertkin e92ab76d0d [REACTOS] Exclude some modules from clang-format 2019-12-28 01:23:49 +02:00
Katayama Hirofumi MZ 03854056a2 [SDK][ATL] Use CStringW in CImage 2019-12-23 20:19:48 +09:00
Thomas Faber e85f436a50
[LIBMPG123] Update to version 1.25.13. CORE-16550 2019-12-08 16:50:00 +01:00
Victor Martinez 9420daee3d [RDBSSLIB] RxFirstCanonicalize(): Fix pointer arithmetic
CORE-13383
2019-11-18 08:20:49 +01:00
Hermès Bélusca-Maïto a4b6e0d929
[SDK:RTL] Add one validity check + comment documentation for RtlDispatchException().
- RtlDispatchException(): Check for invalid stack in ExceptionContinueSearch handler
  and bail out if so.
- Update few comments and fix a typo.
- Add a documenting comment about SafeSEH functionality support.
  See e.g. the following articles:
  https://www.optiv.com/blog/old-meets-new-microsoft-windows-safeseh-incompatibility
  https://msrc-blog.microsoft.com/2012/01/10/more-information-on-the-impact-of-ms12-001/
2019-11-17 23:21:47 +01:00
Jérôme Gardou 493ceb7ade [CMAKE] Fix host tools build on x86-64 mingw
Dynamically check for sys/types.h and pid_t in wine config.h
Use TARGET_xxx defines instead of _X86_ as this is undefined by GCC
Add some sense in include directories management by using interface
libraries
2019-11-15 16:22:06 +01:00
Pierre Schweitzer 86ee9b0cc2
[UBTRFS] Upgrade to 1.5
CORE-16494
2019-11-12 19:35:43 +01:00
Victor Perevertkin 2f15e2f743
[ATL] Suppress GCC8 warning in RelocateElements, fix build. 2019-10-31 02:44:20 +03:00
Amine Khaldi c73a46af9c [PSDK][UUID] Import natupnp.idl from Wine Staging 4.18. CORE-16441 2019-10-20 20:01:58 +01:00
Thomas Faber e02cdcce68
[MPG123] Update to version 1.25.12. CORE-16440 2019-10-20 12:46:09 +02:00
Thomas Faber 983f57b6e0
[BZIP2] Remove unused library. CORE-16440
This was once used by the "ramdrv" driver, removed in r37739 (c47ab26e82).
2019-10-20 12:45:59 +02:00
Victor Perevertkin fdd1d7d60c [MSVCRT] Export __acrt_iob_func to fix GCC build with latest RosBE 2.2 (#1835)
This adds an evil hack to persuade libstdc++, which tries to import __acrt_iob_func from a DLL.
This can only be solved cleanly by adding a GCC-compatible C++ standard library to our tree later.
2019-10-20 12:44:17 +02:00
Hermès Bélusca-Maïto 97f31ac396
[SDK:NT] Remove Win32-isms. 2019-09-19 02:39:59 +02:00
Pierre Schweitzer 255ef2c332
[UBTRFS] Upgrade to 1.4
CORE-16354
2019-09-02 08:19:49 +02:00
Timo Kreuzer 99fe069ce6 [CRT][MSVCRT] Add __DestructExceptionObject from wine 2019-09-01 16:29:26 +02:00
maharmstone e6a9aafe58 [CMLIB] Clean volatile registry entries in the same manner as Windows (#1883)
This fixes the crashes in HvpGetCellMapped on Windows Server 2003 when booting from Freeloader, as mentioned in maharmstone/btrfs#16.

When the bootloader loads the system hive, it cleans the data pertaining to any volatile keys. The Windows bootloader does this by setting SubKeyCounts[Volatile] to 0. After boot, the kernel marks any cell where this is 0 but SubKeyLists[Volatile] isn't HCELL_NIL as dirty, meaning that the sanitized version will then get flushed to the disk.

Because Freeloader sets SubKeyLists[Volatile] to HCELL_NIL straightaway, Windows thinks the cell is clean, and can unload it without flushing. If it then reads it from the disk, it will crash in HvpGetCellMapped due to the stale volatile pointers.

If you break on nt!CmpInitializeSystemHive on Windows and "gu" to the let the function run, you'll see that DirtyVector of the HHIVE has only the first 8 bits set. If you run it using the official bootloader, it'll have a lot more than that.
2019-08-27 02:39:27 +02:00
Mark Jansen 029b8f2cf9
[NTDLL] Use the embedded manifest from the process to check compatibility. 2019-08-21 18:57:52 +02:00
Mark Jansen 35aeaa2397
[RUNTMCHK] Provide fallback memset for arm builds 2019-08-20 22:28:11 +02:00
Pierre Schweitzer 2faee11672
[SDK] As sole author of the file, relicense it as LPGL
It allows third party developers (such as Mark Harmstone :-)) to use it
2019-08-16 19:54:44 +02:00
Timo Kreuzer 58588b76e2 [REACTOS] Fix MSVC printf format warnings 2019-08-15 15:24:12 +02:00
Timo Kreuzer 7611cc2b12 [REACTOS] Fix SIZE_T related warnings 2019-08-15 14:20:00 +02:00
Mark Jansen 610b852451
[ATL] Add a minimal CAtlArray implementation 2019-08-11 21:46:07 +02:00
Mark Jansen ae69b1fda2
[ATL][ATL_APITEST] Add CAtlList::InsertBefore/After + test 2019-08-11 21:45:56 +02:00
Hermès Bélusca-Maïto effdb6f232
[KERNEL32][RTL] Diverse fixes/improvements for thread stack creation code. (#802)
- kernel32!BaseCreateStack() is compatible with ntdll!RtlpCreateUserStack().
- When checking whether a stack guard page can be added, its size has to
  be accounted for in the checking logic.
- We have to satisfy the PEB::MinimumStackCommit constraint.
- We cannot use PEB::GuaranteedStackBytes in BaseCreateStack() since it is
  nowhere initialized (default is 0). It gets initialized to a non-zero
  value when the user manually calls SetThreadStackGuarantee().
  https://www.installsetupconfig.com/win32programming/windowsthreadsprocessapis7_6.html

- RtlpCreateUserStack(): Fix memory leak in failure case.
- RtlpFreeUserStack() doesn't need to return anything.

See also commit 1bc59379 (r59868).

CORE-11319
2019-08-01 19:04:13 +02:00
Katayama Hirofumi MZ 87279857bb
[FREETYPE] Improve font rendering with font hinting workaround (#1771)
CORE-15762, CORE-16232
It seems some fonts are blurry or in bad rendering because of FreeType Font Hinting implementation.
This PR is subpixel2.patch from CORE-16232, based on the following comment:
https://bugs.launchpad.net/ubuntu/+source/freetype/+bug/1722508/comments/29
2019-07-31 21:57:42 +09:00
Timo Kreuzer 08c6d21e1f [REACTOS] Fix warning C4146: unary minus operator applied to unsigned type, result still unsigned 2019-07-27 11:21:28 +02:00
Timo Kreuzer 95b3eebf71 [CRT] Use sprintf_s instead of sprintf
Fixes GCC 8 warning:
sdk/lib/crt/misc/i10output.c:83:25: error: '%d' directive writing between 1 and 11 bytes into a region of size 6 [-Werror=format-overflow=]
     sprintf(format, "%%.%dle", prec);
                         ^~
sdk/lib/crt/misc/i10output.c:83:21: note: directive argument in the range [-2147483648, 2147483646]
     sprintf(format, "%%.%dle", prec);
                     ^~~~~~~~~
sdk/lib/crt/misc/i10output.c:83:5: note: 'sprintf' output between 6 and 16 bytes into a destination of size 8
     sprintf(format, "%%.%dle", prec);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-07-20 13:56:18 +02:00
Timo Kreuzer b275f24406 [VFATLIB] Use RtlStringCbPrintfA instead of sprintf
Fixes GCC 8 warning:
sdk/lib/fslib/vfatlib/check/boot.c:173:27: error: '%02x' directive writing between 2 and 8 bytes into a region of size between 0 and 15 [-Werror=format-overflow=]
   sprintf(buf, "%s%u:%02x/%02x", first ? "" : ", ",
                           ^~~~
sdk/lib/fslib/vfatlib/check/boot.c:173:16: note: directive argument in the range [0, 2147483647]
   sprintf(buf, "%s%u:%02x/%02x", first ? "" : ", ",
                ^~~~~~~~~~~~~~~~
sdk/lib/fslib/vfatlib/check/boot.c:173:3: note: 'sprintf' output between 8 and 31 bytes into a destination of size 20
   sprintf(buf, "%s%u:%02x/%02x", first ? "" : ", ",
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    (unsigned)(p - (uint8_t *) b), *p, *q);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-07-20 13:56:18 +02:00
Timo Kreuzer 48f3efa254 [PSDK][CRT] Add some casts to make GCC 8 happy 2019-07-20 13:56:18 +02:00
Mark Jansen 28a0aa9ae8
[CRT] Remove mingwm10.dll usage in tls support code
CORE-15491
2019-07-06 11:37:30 +02:00
Mark Jansen 58362b229b
[ATL] Add CRect::PtInRect 2019-06-26 21:20:43 +02:00
Thomas Faber 0e6581440e
[RTL] Fix failure check in RtlpCreateCriticalSectionSem. 2019-06-25 09:26:05 +02:00
Timo Kreuzer 99fa38809f [STDUNK][PORTCLS][CMIDriver] Fix issue with operator new/delete
Fix for MSVC warning "C2323: 'operator new': non-member operator new or delete functions may not be declared static or in a namespace other than the global namespace."

See https://docs.microsoft.com/en-us/cpp/porting/visual-cpp-what-s-new-2003-through-2015?view=vs-2019 section "Overloaded operator new and operator delete"
2019-06-24 21:17:00 +02:00
Timo Kreuzer a75e4db855
[INFLIB] Fix INFCONTEXT structure to be compatible with the official definition (#1603)
* [INFLIB] Fix INFCONTEXT structure to be compatible with the official definition.

This makes inflib work on x64.
2019-06-23 22:35:19 +02:00
Eric Kohl c6bc82b6e0 [UUID] Add some missing NetCfg IIDs. 2019-06-17 13:48:34 +02:00
Serge Gautherie 3a98d96eac [LWIP] Fix src/core/init.c a bit (#1620)
Cherry-pick
http://git.savannah.nongnu.org/cgit/lwip.git/commit/src/core/init.c?id=c0b534e5318baf870e2152c70d4d11a3a86181f3
2019-06-06 01:51:46 +02:00
Timo Kreuzer 1ac9e48465 [MINIZIP] Add curly braces to if-statement and fix indentation
Fixes GCC 8 warning:
sdk/lib/3rdparty/zlib/contrib/minizip/zip.c:521:5: error: this 'for' clause does not guard... [-Werror=misleading-indentation]
     for (i=(int)uReadSize-3; (i--)>0;)
     ^~~
sdk/lib/3rdparty/zlib/contrib/minizip/zip.c:529:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
       if (uPosFound!=0)
       ^~
2019-05-27 13:22:40 +02:00
Timo Kreuzer 81bdf4e360 [CRT] Add missing posix error codes
These are required by latest mingw-w64 stl and we are mixing this with our crt headers.
Define _CRT_NO_POSIX_ERROR_CODES in all modules that define their own constants.
2019-05-27 13:22:40 +02:00
Pierre Schweitzer 52550485e2
[UBTRFS] Upgrade to 1.2.1
CORE-16004
2019-05-11 11:25:13 +02:00
Hervé Poussineau 927e1d0968 [HIDPARSER] Implement HidP_GetValueCaps 2019-05-10 11:35:01 +02:00
jimtabor b3b40b35c9 [HIDParser] Fix MSVC build
Attempt to fix build for MSVC.
This effected local build GCC system with newer Ninja version. Not sure
if this has an effect.
2019-05-02 14:33:07 -05:00
Hervé Poussineau 7033ab18df [HID] Use hidparser static library for HidP_* functions
hid.dll and hidparse.sys must understand the same HID preparsed data,
so use the same code in hid.dll and in hidparse.sys

At the same time, this permis implementation of some HidP_* functions.
2019-05-02 20:06:47 +02:00
Hervé Poussineau 2978d4b61b [HIDPARSE/HIDPARSER] Move HidP_* functions from hidparse.sys to hidparser library
Interface between both is not anymore the HidParser_* functions, but
the HidP_* functions and the AllocFunction/FreeFunction/DebugFunctions/
ZeroFunction/CopyFunction.
2019-05-02 20:06:47 +02:00
Timo Kreuzer f47f45dbdd
[TOOLS] Fix/suppress all MSVC/x64 warnings (#1525) 2019-04-28 23:21:48 +02:00
Katayama Hirofumi MZ c714b7fd67
[ATL][ATLTEST] Adapt to RATL and improvements (#1501)
- Modify atldef.h for non-ReactOS environments.
- Update ATL testcase project files (from v120_xp to v140_xp).
- #define HAVE_APITEST and use it.
- s/NULL/0/
2019-04-20 08:35:39 +09:00
Mark Jansen 9824a0154e
[ATL] Retire atlnew 2019-04-18 19:21:37 +02:00
Mark Jansen 9853cc4d7e
[ATL][ATL_APITEST] Add test + implementation for CAtlFileMapping 2019-04-18 19:21:37 +02:00
Timo Kreuzer 146096cd2e [3RDPARTY] Make some warnings non-fatal 2019-04-13 14:07:50 +02:00
Jérôme Gardou aa91628b0e [ZLIB] use correct dependency for minizip library 2019-04-06 17:43:38 +02:00