- Flush cout after each write as already done by Colin in r66855, per ROSTESTS-158
- Use DbgPrint instead of OutputDebugStringA again because the latter only calls the former anyway
Fixes test summary lines not being recognized by Testman, especially on VMware.
A little summary so we don't keep going back and forth with this function:
1) Only writing complete lines is required to that the output doesn't mix with debug output from other components. See r55618
2) OutputDebugStringA splits its input into 512-byte-sized blocks with no regard for line breaks, so using it with strings larger than 512 bytes breaks (1).
3) OutputDebugStringA eventually calls DbgPrint("%s", string) anyway so using it with chunks smaller than 512 bytes is not an optimization
As a result, yes this function MUST split up the lines itself, this can't be optimized or simplified away! kthxbye
ROSTESTS-178 #resolve
svn path=/trunk/; revision=68246
In case of directory enumeration, validate the record earlier to really prevent any potentiel buffer overflow
CORE-9254
svn path=/trunk/; revision=68244
Revamp r68233:
- Don't duplicate code, implement checks in a helper function
- When checking name content, do it earlier for better performances
- Add extra checks to prevent a potential buffer overflow in case of Joliet names with illformed entries
CORE-9254
svn path=/trunk/; revision=68239
UpdateDiskLayout:
- Resize the layout buffer if necessary.
- Start writing logical partitions to the disk.
- Disable the code that wipes unused table entries. May be enabled later.
Right now, you can only create one logical partition because the link entries are not created yet.
svn path=/trunk/; revision=68235
Add a few sanity checks to our handling of ISO 9660 / Joliet:
- Null name entries are forbidden
- Degenerated entries (mistmaching sizes) reveal broken layout
In both cases, the lookup for a file is aborted and the CD considered as corrupted by the FSD.
explorer displays empty CDs then.
CORE-9254 #resolve #comment Fixed with r68233
svn path=/trunk/; revision=68233
- Add basic implementations of RtlApplicationVerifierStop and RtlCopyMappedMemory for the benefit of some Windows dlls
CORE-9857 CORE-9858 #resolve
svn path=/trunk/; revision=68232
UpdateDiskLayout:
- Set the proper HiddenSectors value.
- Fix counting the PartitonaNumber.
UpdatePartitionNumbers() has become obsolete. Remove it.
svn path=/trunk/; revision=68226
- Add a test for SystemFlagsInformation that demonstrates the parameter checks performed by NtQuerySystemInformation/NtSetSystemInformation
CORE-9849
svn path=/trunk/; revision=68225
As shown by the non commited yet tests from Thomas, we have to check for privilege in NtSetSystemInformation - SystemFlagsInformation
svn path=/trunk/; revision=68224
- Probe input buffer for read in NtSetSystemInformation() and call the helpers function in a PSEH block
- For the NtSetSytemInformation - SystemSessionCreate specific case, as we return session ID, probe for write directly there.
svn path=/trunk/; revision=68223
Don't trust the user!
Probe buffers in NtSetSystemInformation - SystemSessionCreate and in NtSetSystemInformation - SystemSessionDetach
svn path=/trunk/; revision=68221
Begin upgrading the VGA emulation to SuperVGA emulation
(Cirrus Logic CL-GD5343 compatible).
This is still a WIP. So far only the VCLK and MCLK have been implemented.
svn path=/trunk/; revision=68216
- Fix assertion failure in 2nd stage by setting s_IsTerminated when an instance does not yet exist.
- Rename CComCreatorSingleton to CComCreatorCentralInstance since it's not /technically/ a singleton
svn path=/trunk/; revision=68215
- Also make My Computer a singleton, as shown by the CMyComputer test. With r68210 and this commit, SHFileOperation on a large number of files is approximately 3 times as fast.
CORE-9839 #resolve
svn path=/trunk/; revision=68212
- Introduce a CComCreatorSingleton class and use it for CDesktopFolder. Multiple calls to SHGetDesktopFolder will now return the same instance, which provides a massive speedup in many shell operations.
CORE-9839
svn path=/trunk/; revision=68210
- Add a test showing that repeated calls to SHGetDesktopFolder return pointers to the same object, and that its CreateViewObject method instead creates new objects.
CORE-9839
svn path=/trunk/; revision=68200
- Use a separate heap allocation for the thread parameters to ScServiceMainStub, since the thread can live longer than the ACTIVE_SERVICE structure
CORE-9235
svn path=/trunk/; revision=68196