reactos/base/system
Hermès Bélusca-Maïto b254ea8274
[MSGINA][WINLOGON] Perform thorough memory cleanup after user logging (#8155)
- MSGINA: The `pMprNotifyInfo` and `pProfile` structures returned by
  `WlxLoggedOutSAS()`, as well as all of their pointer fields, are
  allocated by `LocalAlloc()`[^1][^2]. This is what Windows' Winlogon
  expects (and ours too, for interoperability with GINA dlls written
  for Windows), as it then frees them using `LocalFree()`.

- WINLOGON: In `HandleLogon()`, free the cached `MprNotifyInfo` and
  `Profile` buffers (and all their members) obtained from a previous
  call to `WlxLoggedOutSAS()`.

[^1]: https://learn.microsoft.com/en-us/windows/win32/api/winwlx/nf-winwlx-wlxloggedoutsas
[^2]: 3rd-party GINAs rely on this as well. One example can be found at:
      https://www.codeproject.com/Articles/20656/Winlogon-using-Mobile-Disk
2025-06-24 20:30:34 +02:00
..
autochk
bootok
chkdsk [BASE] Add and improve Italian (it-IT) translation (#7893) 2025-06-02 21:40:46 +02:00
diskpart [DISKPART] Fix wrong '\n' in Italian translation 2025-06-08 08:58:59 +02:00
dllhost
expand
format [FORMAT] Usage(): Remove redundant LoadFMIFSEntryPoints() call (#8072) 2025-06-02 22:30:47 +02:00
logonui
lsass
msiexec [CMAKE] Introduce set_wine_module (Retry) (#7860) 2025-04-04 20:44:38 +09:00
regsvr32
rundll32 [TRANSLATION] Update Portuguese (pt-PT) translation (#5414) 2023-07-10 22:04:31 +03:00
runonce [BASE] Add and improve Italian (it-IT) translation (#7893) 2025-06-02 21:40:46 +02:00
services [BASE] Add and improve Italian (it-IT) translation (#7893) 2025-06-02 21:40:46 +02:00
smss
subst [SUBST] Update Romanian (ro-RO) translation (#6395) 2024-01-21 21:26:30 +01:00
userinit [USERINIT] Add Esperanto (eo-AA) translation (#7534) 2025-01-06 18:19:54 +01:00
winlogon [MSGINA][WINLOGON] Perform thorough memory cleanup after user logging (#8155) 2025-06-24 20:30:34 +02:00
CMakeLists.txt