From 81929cedade350c5ae2b33ef990b82bb293b044e Mon Sep 17 00:00:00 2001 From: Christoph von Wittich Date: Sun, 24 May 2009 09:40:15 +0000 Subject: [PATCH] fix secur32 main winetest crash by returning 0 packages in EmumSecurityPackagesA/W svn path=/trunk/; revision=41096 --- reactos/dll/win32/secur32/sspi.c | 41 ++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/reactos/dll/win32/secur32/sspi.c b/reactos/dll/win32/secur32/sspi.c index 47b1d1815a5..38581785fa8 100644 --- a/reactos/dll/win32/secur32/sspi.c +++ b/reactos/dll/win32/secur32/sspi.c @@ -73,23 +73,50 @@ static SecurityFunctionTableW securityFunctionTableW = SECURITY_STATUS WINAPI EnumerateSecurityPackagesW ( - PULONG pulong, - PSecPkgInfoW* psecpkginfow + PULONG pcPackages, + PSecPkgInfoW* ppPackageInfo ) { - UNIMPLEMENTED; - return ERROR_CALL_NOT_IMPLEMENTED; + SECURITY_STATUS ret = SEC_E_OK; + + *pcPackages = 0; + + /* + if (packageTable) + { + + } + */ + + UNIMPLEMENTED; + return ret; } SECURITY_STATUS WINAPI EnumerateSecurityPackagesA( - PULONG pulong, - PSecPkgInfoA* psecpkginfoa + PULONG pcPackages, + PSecPkgInfoA* ppPackageInfo ) { + SECURITY_STATUS ret; + PSecPkgInfoW info; + + ret = EnumerateSecurityPackagesW(pcPackages, &info); + if (ret == SEC_E_OK && *pcPackages && info) + { + /* *ppPackageInfo = thunk_PSecPkgInfoWToA(*pcPackages, info); + if (*pcPackages && !*ppPackageInfo) + { + *pcPackages = 0; + ret = SEC_E_INSUFFICIENT_MEMORY; + } */ + FreeContextBuffer(info); + } + UNIMPLEMENTED; - return ERROR_CALL_NOT_IMPLEMENTED; + + return ret; } SECURITY_STATUS