Module: wine Branch: master Commit: 0ae7eafc038c1586e11f74726a50bac8202ffc35 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0ae7eafc038c1586e11f74726a... Author: Rob Shearman <rob(a)codeweavers.com> Date: Sat Nov 17 17:32:12 2007 +0000 credui: Make sure not to leave the password in memory when no longer in use. --- dlls/credui/credui_main.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/dlls/credui/credui_main.c b/dlls/credui/credui_main.c index 33292f5..e61eac8 100644 --- a/dlls/credui/credui_main.c +++ b/dlls/credui/credui_main.c @@ -79,6 +79,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) HeapFree(GetProcessHeap(), 0, entry->pszTargetName); HeapFree(GetProcessHeap(), 0, entry->pszUsername); + ZeroMemory(entry->pszPassword, (strlenW(entry->pszPassword) + 1) * sizeof(WCHAR)); HeapFree(GetProcessHeap(), 0, entry->pszPassword); HeapFree(GetProcessHeap(), 0, entry); } @@ -387,6 +388,7 @@ DWORD WINAPI CredUIPromptForCredentialsW(PCREDUI_INFOW pUIInfo, { found = TRUE; HeapFree(GetProcessHeap(), 0, entry->pszUsername); + ZeroMemory(entry->pszPassword, (strlenW(entry->pszPassword) + 1) * sizeof(WCHAR)); HeapFree(GetProcessHeap(), 0, entry->pszPassword); } @@ -447,6 +449,7 @@ DWORD WINAPI CredUIConfirmCredentialsW(PCWSTR pszTargetName, BOOL bConfirm) HeapFree(GetProcessHeap(), 0, entry->pszTargetName); HeapFree(GetProcessHeap(), 0, entry->pszUsername); + ZeroMemory(entry->pszPassword, (strlenW(entry->pszPassword) + 1) * sizeof(WCHAR)); HeapFree(GetProcessHeap(), 0, entry->pszPassword); HeapFree(GetProcessHeap(), 0, entry);