[Libreoffice-commits] core.git: oox/source
Caolán McNamara
caolanm at redhat.com
Wed Jan 1 04:20:45 PST 2014
oox/source/crypto/DocumentDecryption.cxx | 17 +++++++++++++++--
oox/source/crypto/Standard2007Engine.cxx | 2 +-
2 files changed, 16 insertions(+), 3 deletions(-)
New commits:
commit 982db648c4fb7b72ab2797ba2cca00e10ddf055d
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Jan 1 12:05:33 2014 +0000
workaround rather maddening endian-specific template bustage
Change-Id: I69dc97c93ef5efe8d71074ac3eca06a3bbc45253
diff --git a/oox/source/crypto/DocumentDecryption.cxx b/oox/source/crypto/DocumentDecryption.cxx
index 6dee4de..c3549b2 100644
--- a/oox/source/crypto/DocumentDecryption.cxx
+++ b/oox/source/crypto/DocumentDecryption.cxx
@@ -287,9 +287,22 @@ bool DocumentDecryption::readStandard2007EncryptionInfo(BinaryInputStream& rStre
if( (nHeaderSize < actualHeaderSize) )
return false;
- rStream >> info.header;
+ rStream >> info.header.flags;
+ rStream >> info.header.sizeExtra;
+ rStream >> info.header.algId;
+ rStream >> info.header.algIdHash;
+ rStream >> info.header.keyBits;
+ rStream >> info.header.providedType;
+ rStream >> info.header.reserved1;
+ rStream >> info.header.reserved2;
+
rStream.skip( nHeaderSize - actualHeaderSize );
- rStream >> info.verifier;
+
+ rStream >> info.verifier.saltSize;
+ rStream.readArray(info.verifier.salt, SAL_N_ELEMENTS(info.verifier.salt));
+ rStream.readArray(info.verifier.encryptedVerifier, SAL_N_ELEMENTS(info.verifier.encryptedVerifier));
+ rStream >> info.verifier.encryptedVerifierHashSize;
+ rStream.readArray(info.verifier.encryptedVerifierHash, SAL_N_ELEMENTS(info.verifier.encryptedVerifierHash));
if( info.verifier.saltSize != 16 )
return false;
diff --git a/oox/source/crypto/Standard2007Engine.cxx b/oox/source/crypto/Standard2007Engine.cxx
index b437846..13697d2 100644
--- a/oox/source/crypto/Standard2007Engine.cxx
+++ b/oox/source/crypto/Standard2007Engine.cxx
@@ -129,7 +129,7 @@ bool Standard2007Engine::calculateEncryptionKey(const OUString& rPassword)
// data = iterator (4bytes) + hash
vector<sal_uInt8> data(RTL_DIGEST_LENGTH_SHA1 + 4, 0);
- for (int i = 0; i < 50000; i++)
+ for (sal_Int32 i = 0; i < 50000; ++i)
{
ByteOrderConverter::writeLittleEndian( &data[0], i );
std::copy(hash.begin(), hash.end(), data.begin() + 4);
More information about the Libreoffice-commits
mailing list