diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-01-01 12:05:33 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-01-01 12:20:21 +0000 |
commit | 982db648c4fb7b72ab2797ba2cca00e10ddf055d (patch) | |
tree | 16913590a0e984c9546a7bf4bcd5472acb6fce9a /oox/source/crypto/DocumentDecryption.cxx | |
parent | c6999ccfc69ca08d9a9250e983431c1cc71c71ad (diff) |
workaround rather maddening endian-specific template bustage
Change-Id: I69dc97c93ef5efe8d71074ac3eca06a3bbc45253
Diffstat (limited to 'oox/source/crypto/DocumentDecryption.cxx')
-rw-r--r-- | oox/source/crypto/DocumentDecryption.cxx | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/oox/source/crypto/DocumentDecryption.cxx b/oox/source/crypto/DocumentDecryption.cxx index 6dee4de0adf2..c3549b2195e1 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; |