crypt32(9/20): More parameter checking for opening signed encoded
messages
Juan Lang
juan.lang at gmail.com
Mon Jul 23 20:29:20 CDT 2007
--Juan
-------------- next part --------------
From 41d983bff1ed519f198f32684e17df28c9adbaf2 Mon Sep 17 00:00:00 2001
From: Juan Lang <juanlang at juan.corp.google.com>
Date: Mon, 23 Jul 2007 17:35:17 -0700
Subject: [PATCH] More parameter checking for opening signed encoded messages
---
dlls/crypt32/msg.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/dlls/crypt32/msg.c b/dlls/crypt32/msg.c
index c134e68..ce2ac3d 100644
--- a/dlls/crypt32/msg.c
+++ b/dlls/crypt32/msg.c
@@ -567,6 +567,17 @@ typedef struct _CMSG_SIGNED_ENCODE_INFO_
static BOOL CRYPT_IsValidSigner(CMSG_SIGNER_ENCODE_INFO_WITH_CMS *signer)
{
+ if (signer->cbSize != sizeof(CMSG_SIGNER_ENCODE_INFO) &&
+ signer->cbSize != sizeof(CMSG_SIGNER_ENCODE_INFO_WITH_CMS))
+ {
+ SetLastError(E_INVALIDARG);
+ return FALSE;
+ }
+ if (signer->cbSize == sizeof(CMSG_SIGNER_ENCODE_INFO_WITH_CMS))
+ {
+ FIXME("CMSG_SIGNER_ENCODE_INFO with CMS fields unsupported\n");
+ return FALSE;
+ }
if (!signer->pCertInfo->SerialNumber.cbData)
{
SetLastError(E_INVALIDARG);
--
1.4.1
More information about the wine-patches
mailing list