Juan Lang : rsaenh: Reorder padding code to avoid unnecessary
comparison.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Sep 11 07:28:45 CDT 2007
Module: wine
Branch: master
Commit: 16c40d91124547499a289df8efffba2e9d1effb5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=16c40d91124547499a289df8efffba2e9d1effb5
Author: Juan Lang <juan.lang at gmail.com>
Date: Mon Sep 10 15:04:39 2007 -0700
rsaenh: 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..84cceea 100644
--- a/dlls/rsaenh/rsaenh.c
+++ b/dlls/rsaenh/rsaenh.c
@@ -1907,16 +1907,16 @@ BOOL WINAPI RSAENH_CPEncrypt(HCRYPTPROV hProv, HCRYPTKEY hKey, HCRYPTHASH hHash,
*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:
More information about the wine-cvs
mailing list