* Sync with Wine 1.7.17.
CORE-8080
svn path=/trunk/; revision=62948
TRACE("%p %s %x\n", catAdmin, debugstr_guid(sys), dwFlags);
TRACE("%p %s %x\n", catAdmin, debugstr_guid(sys), dwFlags);
+ if (!catAdmin || dwFlags)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
if (!CryptMsgGetParam(hmsg, CMSG_ATTR_CERT_PARAM, i, NULL, &size))
{
CryptMsgClose(hmsg);
if (!CryptMsgGetParam(hmsg, CMSG_ATTR_CERT_PARAM, i, NULL, &size))
{
CryptMsgClose(hmsg);
+ HeapFree(GetProcessHeap(), 0, cc);
return INVALID_HANDLE_VALUE;
}
sum += size;
return INVALID_HANDLE_VALUE;
}
sum += size;
if (!(cc->attr = HeapAlloc(GetProcessHeap(), 0, sizeof(*cc->attr) * cc->attr_count + sum)))
{
CryptMsgClose(hmsg);
if (!(cc->attr = HeapAlloc(GetProcessHeap(), 0, sizeof(*cc->attr) * cc->attr_count + sum)))
{
CryptMsgClose(hmsg);
+ HeapFree(GetProcessHeap(), 0, cc);
SetLastError(ERROR_OUTOFMEMORY);
return INVALID_HANDLE_VALUE;
}
SetLastError(ERROR_OUTOFMEMORY);
return INVALID_HANDLE_VALUE;
}
{
CryptMsgClose(hmsg);
HeapFree(GetProcessHeap(), 0, cc->attr);
{
CryptMsgClose(hmsg);
HeapFree(GetProcessHeap(), 0, cc->attr);
+ HeapFree(GetProcessHeap(), 0, cc);
return INVALID_HANDLE_VALUE;
}
if (!CryptMsgGetParam(hmsg, CMSG_ATTR_CERT_PARAM, i, p, &size))
{
CryptMsgClose(hmsg);
HeapFree(GetProcessHeap(), 0, cc->attr);
return INVALID_HANDLE_VALUE;
}
if (!CryptMsgGetParam(hmsg, CMSG_ATTR_CERT_PARAM, i, p, &size))
{
CryptMsgClose(hmsg);
HeapFree(GetProcessHeap(), 0, cc->attr);
+ HeapFree(GetProcessHeap(), 0, cc);
return INVALID_HANDLE_VALUE;
}
p += size;
return INVALID_HANDLE_VALUE;
}
p += size;
cc->magic = CRYPTCAT_MAGIC;
return cc;
}
cc->magic = CRYPTCAT_MAGIC;
return cc;
}
+ HeapFree(GetProcessHeap(), 0, cc);
return INVALID_HANDLE_VALUE;
}
return INVALID_HANDLE_VALUE;
}
*
* NOTES
* Adding definitions is basically only adding relevant information
*
* NOTES
* Adding definitions is basically only adding relevant information
- * to the registry. No verification takes place whether a DLL or it's
+ * to the registry. No verification takes place whether a DLL or its
* entrypoints exist.
* Information in the registry will always be overwritten.
*
* entrypoints exist.
* Information in the registry will always be overwritten.
*
TRACE("\n");
/* Testing on native shows that when an error is encountered in one of the CryptRegisterOIDFunction calls
TRACE("\n");
/* Testing on native shows that when an error is encountered in one of the CryptRegisterOIDFunction calls
- * the rest of these calls is skipped. Registering is however continued for the trust providers.
+ * the rest of these calls are skipped. Registering is however continued for the trust providers.
- * We are not totally in line with native as there all decoding functions are registered after all encoding
- * functions.
+ * We are not totally in line with native as all decoding functions are registered after all encoding
+ * functions there.
*/
#define WINTRUST_REGISTEROID( oid, encode_funcname, decode_funcname ) \
do { \
*/
#define WINTRUST_REGISTEROID( oid, encode_funcname, decode_funcname ) \
do { \
reactos/dll/win32/winmm # Forked at Wine-20050628
reactos/dll/win32/winmm/midimap # Forked at Wine-20050628
reactos/dll/win32/winmm/wavemap # Forked at Wine-20050628
reactos/dll/win32/winmm # Forked at Wine-20050628
reactos/dll/win32/winmm/midimap # Forked at Wine-20050628
reactos/dll/win32/winmm/wavemap # Forked at Wine-20050628
-reactos/dll/win32/wintrust # Synced to Wine-1.7.1
+reactos/dll/win32/wintrust # Synced to Wine-1.7.17
reactos/dll/win32/wldap32 # Synced to Wine-1.7.1
reactos/dll/win32/wmi # Synced to Wine-1.7.1
reactos/dll/win32/wtsapi32 # Synced to Wine-1.7.1
reactos/dll/win32/wldap32 # Synced to Wine-1.7.1
reactos/dll/win32/wmi # Synced to Wine-1.7.1
reactos/dll/win32/wtsapi32 # Synced to Wine-1.7.1