summaryrefslogtreecommitdiff
path: root/oox/source/crypto/DocumentDecryption.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-01-01 12:05:33 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-01-01 12:20:21 +0000
commit982db648c4fb7b72ab2797ba2cca00e10ddf055d (patch)
tree16913590a0e984c9546a7bf4bcd5472acb6fce9a /oox/source/crypto/DocumentDecryption.cxx
parentc6999ccfc69ca08d9a9250e983431c1cc71c71ad (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.cxx17
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;