rsaenh(1/3): Reorder padding code to avoid unnecessary comparison
Juan Lang
juan.lang at gmail.com
Mon Sep 10 17:06:10 CDT 2007
--Juan
-------------- next part --------------
From cf09ba4402c2ead93e68c8258ccd5cce61a90577 Mon Sep 17 00:00:00 2001
From: Juan Lang <juan.lang at gmail.com>
Date: Mon, 10 Sep 2007 15:04:39 -0700
Subject: [PATCH] Reorder padding code to avoid unnecessary comparison
---
dlls/rsaenh/rsaenh.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c
index 8a27e2c..5221698 100644
--- a/dlls/rsaenh/rsaenh.c
+++ b/dlls/rsaenh/rsaenh.c
@@ -1907,16 +1907,16 @@ BOOL WINAPI RSAENH_CPEncrypt(HCRYPTPROV
*pdwDataLen = dwEncryptedLen;
return TRUE;
}
-
- for (i=*pdwDataLen; i<dwEncryptedLen && i<dwBufLen; i++) pbData[i] = dwEncryptedLen - *pdwDataLen;
- *pdwDataLen = dwEncryptedLen;
-
- if (*pdwDataLen > dwBufLen)
- {
+ else if (dwEncryptedLen > dwBufLen) {
+ *pdwDataLen = dwEncryptedLen;
SetLastError(ERROR_MORE_DATA);
return FALSE;
}
-
+
+ /* Pad final block with length bytes */
+ for (i=*pdwDataLen; i<dwEncryptedLen; i++) pbData[i] = dwEncryptedLen - *pdwDataLen;
+ *pdwDataLen = dwEncryptedLen;
+
for (i=0, in=pbData; i<*pdwDataLen; i+=pCryptKey->dwBlockLen, in+=pCryptKey->dwBlockLen) {
switch (pCryptKey->dwMode) {
case CRYPT_MODE_ECB:
--
1.4.1
More information about the wine-patches
mailing list