[PATCH 3/5] cryptnet: Use RTL_SIZEOF_THROUGH_FIELD.

Zebediah Figura zfigura at codeweavers.com
Thu Jul 15 11:25:18 CDT 2021


Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
 dlls/cryptnet/cryptnet_main.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/dlls/cryptnet/cryptnet_main.c b/dlls/cryptnet/cryptnet_main.c
index efcb3dc9ba2..f667c655e46 100644
--- a/dlls/cryptnet/cryptnet_main.c
+++ b/dlls/cryptnet/cryptnet_main.c
@@ -521,13 +521,13 @@ static BOOL CRYPT_GetObjectFromCache(LPCWSTR pszURL, PCRYPT_BLOB_ARRAY pObject,
             {
                 if ((ret = CRYPT_GetObjectFromFile(hFile, pObject)))
                 {
-                    if (pAuxInfo && pAuxInfo->cbSize >=
-                     offsetof(CRYPT_RETRIEVE_AUX_INFO,
-                     pLastSyncTime) + sizeof(PFILETIME) &&
-                     pAuxInfo->pLastSyncTime)
+                    if (pAuxInfo && pAuxInfo->cbSize >= RTL_SIZEOF_THROUGH_FIELD(CRYPT_RETRIEVE_AUX_INFO, pLastSyncTime)
+                            && pAuxInfo->pLastSyncTime)
+                    {
                         memcpy(pAuxInfo->pLastSyncTime,
                          &pCacheInfo->LastSyncTime,
                          sizeof(FILETIME));
+                    }
                 }
                 CloseHandle(hFile);
             }
@@ -1028,12 +1028,12 @@ static BOOL WINAPI File_RetrieveEncodedObjectW(LPCWSTR pszURL,
             {
                 if ((ret = CRYPT_GetObjectFromFile(hFile, pObject)))
                 {
-                    if (pAuxInfo && pAuxInfo->cbSize >=
-                     offsetof(CRYPT_RETRIEVE_AUX_INFO,
-                     pLastSyncTime) + sizeof(PFILETIME) &&
-                     pAuxInfo->pLastSyncTime)
+                    if (pAuxInfo && pAuxInfo->cbSize >= RTL_SIZEOF_THROUGH_FIELD(CRYPT_RETRIEVE_AUX_INFO, pLastSyncTime)
+                            && pAuxInfo->pLastSyncTime)
+                    {
                         GetFileTime(hFile, NULL, NULL,
                          pAuxInfo->pLastSyncTime);
+                    }
                 }
                 CloseHandle(hFile);
             }
@@ -1557,9 +1557,8 @@ static DWORD verify_cert_revocation_from_dist_points_ext(
              &cbUrlArray, NULL, NULL);
             if (dwFlags & CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION)
                 retrievalFlags |= CRYPT_CACHE_ONLY_RETRIEVAL;
-            if (dwFlags & CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG &&
-             pRevPara && pRevPara->cbSize >= offsetof(CERT_REVOCATION_PARA,
-             dwUrlRetrievalTimeout) + sizeof(DWORD))
+            if ((dwFlags & CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG) && pRevPara
+                    && pRevPara->cbSize >= RTL_SIZEOF_THROUGH_FIELD(CERT_REVOCATION_PARA, dwUrlRetrievalTimeout))
             {
                 startTime = GetTickCount();
                 endTime = startTime + pRevPara->dwUrlRetrievalTimeout;
-- 
2.30.2




More information about the wine-devel mailing list