Module: wine Branch: master Commit: 16c40d91124547499a289df8efffba2e9d1effb5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=16c40d91124547499a289df8ef...
Author: Juan Lang juan.lang@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: