mirror of https://github.com/apache/poi.git
Bug 66425: Avoid exceptions found via poi-fuzz
Prevent a few NullPointerException Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=65450 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=63907 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=63727 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1915480 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
fef87cfa0a
commit
147c96da67
|
@ -79,6 +79,9 @@ public class XSLFGraphicFrame extends XSLFShape implements GraphicalFrame<XSLFSh
|
|||
}
|
||||
|
||||
CTPoint2D off = xfrm.getOff();
|
||||
if (off == null) {
|
||||
throw new IllegalArgumentException("Could not retrieve Off from the XML object");
|
||||
}
|
||||
double x = Units.toPoints(POIXMLUnits.parseLength(off.xgetX()));
|
||||
double y = Units.toPoints(POIXMLUnits.parseLength(off.xgetY()));
|
||||
CTPositiveSize2D ext = xfrm.getExt();
|
||||
|
|
|
@ -88,7 +88,7 @@ public abstract class HWPFDocumentCore extends POIDocument {
|
|||
* Size of the not encrypted part of the FIB
|
||||
*/
|
||||
protected static final int FIB_BASE_LEN = 68;
|
||||
|
||||
|
||||
/**
|
||||
* [MS-DOC] 2.2.6.2/3 Office Binary Document ... Encryption:
|
||||
* "... The block number MUST be set to zero at the beginning of the stream and
|
||||
|
@ -283,6 +283,9 @@ public abstract class HWPFDocumentCore extends POIDocument {
|
|||
EncryptionMode em = fibBase.isFObfuscated() ? EncryptionMode.xor : null;
|
||||
EncryptionInfo ei = new EncryptionInfo(leis, em);
|
||||
Decryptor dec = ei.getDecryptor();
|
||||
if (dec == null) {
|
||||
throw new EncryptedDocumentException("Invalid encryption info, did not get a matching decryptor");
|
||||
}
|
||||
dec.setChunkSize(RC4_REKEYING_INTERVAL);
|
||||
try {
|
||||
String pass = Biff8EncryptionKey.getCurrentUserPassword();
|
||||
|
|
|
@ -51,10 +51,16 @@ public class AgileEncryptionVerifier extends EncryptionVerifier {
|
|||
setCipherAlgorithm(keyData.getCipherAlgorithm());
|
||||
setKeySize(keyData.getKeyBits());
|
||||
|
||||
int blockSize = keyData.getBlockSize();
|
||||
Integer blockSize = keyData.getBlockSize();
|
||||
if (blockSize == null) {
|
||||
throw new IllegalArgumentException("blockSize not set");
|
||||
}
|
||||
setBlockSize(blockSize);
|
||||
|
||||
int hashSize = keyData.getHashSize();
|
||||
Integer hashSize = keyData.getHashSize();
|
||||
if (hashSize == null) {
|
||||
throw new IllegalArgumentException("hashSize not set");
|
||||
}
|
||||
|
||||
HashAlgorithm ha = keyData.getHashAlgorithm();
|
||||
setHashAlgorithm(ha);
|
||||
|
|
Loading…
Reference in New Issue