Juan Lang : wintrust: Make sure item size is at least the min size, and only align sizes that are greater.

Alexandre Julliard julliard at winehq.org
Fri Oct 23 10:18:59 CDT 2009


Module: wine
Branch: master
Commit: a5087e605158a2fa427e64718f6b41f494aad380
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a5087e605158a2fa427e64718f6b41f494aad380

Author: Juan Lang <juan.lang at gmail.com>
Date:   Thu Oct 22 12:42:39 2009 -0700

wintrust: Make sure item size is at least the min size, and only align sizes that are greater.

---

 dlls/wintrust/asn.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/wintrust/asn.c b/dlls/wintrust/asn.c
index 6a525eb..69c9dd3 100644
--- a/dlls/wintrust/asn.c
+++ b/dlls/wintrust/asn.c
@@ -1525,8 +1525,13 @@ static BOOL CRYPT_AsnDecodeSequenceItems(DWORD dwCertEncodingType,
                          : NULL, &items[i].size);
                         if (ret)
                         {
-                            /* Account for alignment padding */
-                            items[i].size = ALIGN_DWORD_PTR(items[i].size);
+                            if (items[i].size < items[i].minSize)
+                                items[i].size = items[i].minSize;
+                            else if (items[i].size > items[i].minSize)
+                            {
+                                /* Account for alignment padding */
+                                items[i].size = ALIGN_DWORD_PTR(items[i].size);
+                            }
                             TRACE("item %d size: %d\n", i, items[i].size);
                             if (nextData && items[i].hasPointer &&
                              items[i].size > items[i].minSize)




More information about the wine-cvs mailing list