From 5ab259a812b1e9fd8ba9515ab48b9be3bda69081 Mon Sep 17 00:00:00 2001 From: Juan Lang Date: Fri, 28 Sep 2007 09:06:11 -0700 Subject: [PATCH] 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(H 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(H CryptMemFree(buf); ret = TRUE; } + else + ret = FALSE; } else ret = TRUE; -- 1.4.1