Juan Lang : crypt32: Be more strict about format of serialized store files.
Alexandre Julliard
julliard at winehq.org
Mon Oct 1 07:54:57 CDT 2007
Module: wine
Branch: master
Commit: 661525c6064a1da91c7bbcd11a0c2ff5583f8b0f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=661525c6064a1da91c7bbcd11a0c2ff5583f8b0f
Author: Juan Lang <juan.lang at gmail.com>
Date: Fri Sep 28 09:06:11 2007 -0700
crypt32: Be more strict about format of serialized store files.
---
dlls/crypt32/serialize.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/dlls/crypt32/serialize.c b/dlls/crypt32/serialize.c
index 2884a4c..281ac3f 100644
--- a/dlls/crypt32/serialize.c
+++ b/dlls/crypt32/serialize.c
@@ -431,7 +431,11 @@ BOOL CRYPT_ReadSerializedStoreFromFile(HANDLE file, HCERTSTORE store)
ret = ReadFile(file, fileHeaderBuf, sizeof(fileHeaderBuf), &read, NULL);
if (ret)
{
- if (!memcmp(fileHeaderBuf, fileHeader, read))
+ if (!read)
+ ; /* an empty file is okay */
+ else if (read != sizeof(fileHeaderBuf))
+ ret = FALSE;
+ else if (!memcmp(fileHeaderBuf, fileHeader, read))
{
WINE_CERT_PROP_HEADER propHdr;
const void *context = NULL;
@@ -503,6 +507,8 @@ BOOL CRYPT_ReadSerializedStoreFromFile(HANDLE file, HCERTSTORE store)
CryptMemFree(buf);
ret = TRUE;
}
+ else
+ ret = FALSE;
}
else
ret = TRUE;
More information about the wine-cvs
mailing list