- Do not crash if an invalid PDO is given to IopEditDeviceList
- Always dereference device object when removing it (should be the last reference)
CORE-8294
svn path=/trunk/; revision=63917
Disable ScanNTFSStreams calls because this function exclusively calls BackupRead that is not implemented on ReactOS, and as a consequence makes lots of debug spam when browsing the start (sub-)menus.
svn path=/trunk/; revision=63914
- Remove "VACB chain" optimization for CcCopyRead that was never applied anyway since MAX_RW_LENGTH == VACB_MAPPING_GRANULARITY, so a single read could never exceed one VACB
- Consolidate CcCopyRead, CcCopyWrite and the cached case of CcZeroData into a common worker function
CORE-8410
svn path=/trunk/; revision=63903
- Reference the address file while delivering data to avoid a use after free when an address file is closed during datagram delivery
svn path=/trunk/; revision=63899
Fix a catastrophic bug in S/G DMA. There is a subtle difference between the S/G DMA APIs and the old AllocateAdapterChannel API when it comes to having multiple requests in flight. Callers of (Io)AllocateAdapterChannel CANNOT queue another request until the AdapterControlRoutine is called. S/G DMA allows multiple concurrent DMA requests, but ROS was using IoAllocateAdapterChannel in the S/G API. As a result, the wait block stored in the device object was unexpectedly reinitalized and queued again. This results in a leak of the originally queued request context, potentially performing the new DMA operation twice while dropping the old request, and use after free of the context passed to HalpScatterGatherAdapterControl.
svn path=/trunk/; revision=63898
- Correctly manage object lifetime in CDefaultContextMenu. Members of DEFCONTEXTMENU need to be referenced or cloned in order to keep them.
CORE-8430 #resolve
svn path=/trunk/; revision=63884
- Fix list walk in NpCancelWaiter -- we cannot access the list entry after using RemoveEntryList on it
- Make the logic in NpCancelWaiter more readable
CORE-8442 #resolve
svn path=/trunk/; revision=63883
- Assert that the thread's sent message queue matches change bits in UserDbgAssertThreadInfo. Suggested by Giannis.
CORE-7013
svn path=/trunk/; revision=63880
CORE-5006 CORE-6397 CORE-8424 #comment Fixes from the condrv_restructure branch (rev.63841) merged back to trunk in revision 63877.
svn path=/trunk/; revision=63877
- Clear appropriate message bits when removing a sent message in FindRemoveAsyncMsg. Thanks to Giannis.
- Fix list walk in FindRemoveAsyncMsg
CORE-7013 #resolve
svn path=/trunk/; revision=63875
- Correctly check for in-buffer memory in PointerFree. Fixes invalid free e.g. when calling StartService without service arguments
svn path=/trunk/; revision=63871
- Gracefully handle ConvertStringSidToSid failures in InstallBuiltinAccounts and InstallPrivileges. Fixes invalid frees in second stage.
svn path=/trunk/; revision=63861
- Don't crash when a directory is specified instead of a file list (i.e. specified_files.root.normalized_name == NULL)
svn path=/trunk/; revision=63860
- Greatly optimize file icon retrieval by reducing the times we try to access the disk.
- Store icons in a binary tree in the shell icon cache for faster retrieval.
Patch by Huw Campbell committed at the request of Giannis Adamopoulos.
svn path=/trunk/; revision=63845