Commit graph

215 commits

Author SHA1 Message Date
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
Jérôme Gardou
23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Katayama Hirofumi MZ
572e028de1
[SDK][ATL] Independence day of ReactOS ATL (#1473)
Today is the Independence Day of ReactOS ATL (RATL). CORE-12935
https://github.com/katahiromz/RATL
2019-04-05 19:45:45 +09:00
Katayama Hirofumi MZ
6388b91a4d
[CRT][USER32] fix wsprintf additional argument (%*s) (#1470)
Reduce wsprintf function failures ("%*s"). CORE-13955
2019-04-05 16:33:18 +09:00
Hervé Poussineau
c8719ee865 [CRT] Correctly share get_ioinfo()/release_ioinfo() functions between code units
This fixes the following compiler errors:

../sdk/lib/crt/stdio/stat64.c:7:13: error: inline function 'release_ioinfo' declared but never defined [-Werror]
 inline void release_ioinfo(ioinfo *info);
             ^~~~~~~~~~~~~~
../sdk/lib/crt/stdio/stat64.c:6:16: error: inline function 'get_ioinfo' declared but never defined [-Werror]
 inline ioinfo* get_ioinfo(int fd);
                ^~~~~~~~~~
../sdk/lib/crt/stdio/file.c:186:5: error: 'init_ioinfo_cs' is static but used in inline function 'get_ioinfo' which is not static [-Werror]
     init_ioinfo_cs(ret);
     ^~~~~~~~~~~~~~
../sdk/lib/crt/stdio/file.c:183:19: error: 'get_ioinfo_nolock' is static but used in inline function 'get_ioinfo' which is not static [-Werror]
     ioinfo *ret = get_ioinfo_nolock(fd);
2019-04-01 11:38:32 +02:00