HeapFree(GetProcessHeap(), 0, entry->pszTargetName);
HeapFree(GetProcessHeap(), 0, entry->pszUsername);
- ZeroMemory(entry->pszPassword, (strlenW(entry->pszPassword) + 1) * sizeof(WCHAR));
+ SecureZeroMemory(entry->pszPassword, strlenW(entry->pszPassword) * sizeof(WCHAR));
HeapFree(GetProcessHeap(), 0, entry->pszPassword);
HeapFree(GetProcessHeap(), 0, entry);
}
DWORD j;
BOOL duplicate = FALSE;
+ if (!credentials[i]->UserName)
+ continue;
+
if (params->dwFlags & CREDUI_FLAGS_GENERIC_CREDENTIALS)
{
- if ((credentials[i]->Type != CRED_TYPE_GENERIC) || !credentials[i]->UserName)
+ if (credentials[i]->Type != CRED_TYPE_GENERIC)
+ {
+ credentials[i]->UserName = NULL;
continue;
+ }
}
- else
+ else if (credentials[i]->Type == CRED_TYPE_GENERIC)
{
- if (credentials[i]->Type == CRED_TYPE_GENERIC)
- continue;
+ credentials[i]->UserName = NULL;
+ continue;
}
/* don't add another item with the same name if we've already added it */
for (j = 0; j < i; j++)
- if (!strcmpW(credentials[i]->UserName, credentials[j]->UserName))
+ if (credentials[j]->UserName
+ && !strcmpW(credentials[i]->UserName, credentials[j]->UserName))
{
duplicate = TRUE;
break;
{
found = TRUE;
HeapFree(GetProcessHeap(), 0, entry->pszUsername);
- ZeroMemory(entry->pszPassword, (strlenW(entry->pszPassword) + 1) * sizeof(WCHAR));
+ SecureZeroMemory(entry->pszPassword, strlenW(entry->pszPassword) * sizeof(WCHAR));
HeapFree(GetProcessHeap(), 0, entry->pszPassword);
}
HeapFree(GetProcessHeap(), 0, entry->pszTargetName);
HeapFree(GetProcessHeap(), 0, entry->pszUsername);
- ZeroMemory(entry->pszPassword, (strlenW(entry->pszPassword) + 1) * sizeof(WCHAR));
+ SecureZeroMemory(entry->pszPassword, strlenW(entry->pszPassword) * sizeof(WCHAR));
HeapFree(GetProcessHeap(), 0, entry->pszPassword);
HeapFree(GetProcessHeap(), 0, entry);
reactos/dll/win32/comctl32 # Synced to Wine-3.0
reactos/dll/win32/comdlg32 # Synced to WineStaging-4.0
reactos/dll/win32/compstui # Synced to WineStaging-3.3
-reactos/dll/win32/credui # Synced to WineStaging-3.17
+reactos/dll/win32/credui # Synced to WineStaging-4.0
reactos/dll/win32/crypt32 # Synced to WineStaging-3.17
reactos/dll/win32/cryptdlg # Synced to WineStaging-3.3
reactos/dll/win32/cryptdll # Synced to WineStaging-3.3