Kaydet (Commit) 982db648 authored tarafından Caolán McNamara's avatar Caolán McNamara

workaround rather maddening endian-specific template bustage

Change-Id: I69dc97c93ef5efe8d71074ac3eca06a3bbc45253
üst c6999ccf
......@@ -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;
......
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment