You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2019/10/13 19:38:03 UTC
svn commit: r1868410 - in /poi/trunk/src/scratchpad/src/org/apache/poi:
hemf/record/emf/HemfComment.java hemf/usermodel/HemfEmbeddedIterator.java
hslf/usermodel/HSLFAutoShape.java hwmf/record/HwmfEscape.java
Author: kiwiwings
Date: Sun Oct 13 19:38:03 2019
New Revision: 1868410
URL: http://svn.apache.org/viewvc?rev=1868410&view=rev
Log:
Fix sonar issues
Modified:
poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java
poi/trunk/src/scratchpad/src/org/apache/poi/hemf/usermodel/HemfEmbeddedIterator.java
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java
poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfEscape.java
Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java?rev=1868410&r1=1868409&r2=1868410&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java Sun Oct 13 19:38:03 2019
@@ -39,6 +39,8 @@ import org.apache.poi.util.Internal;
import org.apache.poi.util.LittleEndianConsts;
import org.apache.poi.util.LittleEndianInputStream;
import org.apache.poi.util.LocaleUtil;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
import org.apache.poi.util.RecordFormatException;
/**
@@ -46,6 +48,7 @@ import org.apache.poi.util.RecordFormatE
*/
@Internal
public class HemfComment {
+ private static final POILogger logger = POILogFactory.getLogger(HemfComment.class);
private static final int MAX_RECORD_LENGTH = HwmfPicture.MAX_RECORD_LENGTH;
public enum HemfCommentRecordType {
@@ -557,7 +560,11 @@ public class HemfComment {
wmfData = IOUtils.safelyAllocate(winMetafileSize, MAX_RECORD_LENGTH);
// some emf comments are truncated, so we don't use readFully here
- leis.read(wmfData);
+ int readBytes = leis.read(wmfData);
+ if (readBytes < wmfData.length) {
+ logger.log(POILogger.INFO, "Emf comment with WMF: expected "+wmfData.length+
+ " bytes - received only "+readBytes+" bytes.");
+ }
return leis.getReadIndex()-startIdx;
}
Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hemf/usermodel/HemfEmbeddedIterator.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hemf/usermodel/HemfEmbeddedIterator.java?rev=1868410&r1=1868409&r2=1868410&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hemf/usermodel/HemfEmbeddedIterator.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hemf/usermodel/HemfEmbeddedIterator.java Sun Oct 13 19:38:03 2019
@@ -17,15 +17,7 @@
package org.apache.poi.hemf.usermodel;
-import java.awt.Transparency;
-import java.awt.color.ColorSpace;
import java.awt.image.BufferedImage;
-import java.awt.image.ComponentColorModel;
-import java.awt.image.DataBuffer;
-import java.awt.image.DataBufferByte;
-import java.awt.image.PixelInterleavedSampleModel;
-import java.awt.image.Raster;
-import java.awt.image.WritableRaster;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.ArrayDeque;
@@ -38,7 +30,6 @@ import org.apache.poi.hemf.record.emf.He
import org.apache.poi.hemf.record.emf.HemfRecord;
import org.apache.poi.hemf.record.emfplus.HemfPlusImage.EmfPlusBitmapDataType;
import org.apache.poi.hemf.record.emfplus.HemfPlusImage.EmfPlusImage;
-import org.apache.poi.hemf.record.emfplus.HemfPlusImage.EmfPlusPixelFormat;
import org.apache.poi.hemf.record.emfplus.HemfPlusObject;
import org.apache.poi.hemf.record.emfplus.HemfPlusObject.EmfPlusObject;
import org.apache.poi.hwmf.record.HwmfBitmapDib;
@@ -209,9 +200,12 @@ public class HemfEmbeddedIterator implem
EmfPlusImage img = epo.getObjectData();
assert(img.getImageDataType() != null);
- HwmfEmbedded emb = getEmfPlusImageData();
+ final HwmfEmbedded emb = getEmfPlusImageData();
+ if (emb == null) {
+ return null;
+ }
- HwmfEmbeddedType et;
+ final HwmfEmbeddedType et;
switch (img.getImageDataType()) {
case BITMAP:
if (img.getBitmapType() == EmfPlusBitmapDataType.COMPRESSED) {
Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java?rev=1868410&r1=1868409&r2=1868410&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java Sun Oct 13 19:38:03 2019
@@ -341,6 +341,9 @@ public class HSLFAutoShape extends HSLFT
private void handleEscapeInfo(CTPath2D pathCT, Path2D path2D, byte[] segElem, Iterator<byte[]> vertIter) {
final ObjectFactory of = new ObjectFactory();
HSLFFreeformShape.EscapeInfo ei = getEscapeInfo(segElem);
+ if (ei == null) {
+ return;
+ }
switch (ei) {
case EXTENSION:
break;
Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfEscape.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfEscape.java?rev=1868410&r1=1868409&r2=1868410&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfEscape.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfEscape.java Sun Oct 13 19:38:03 2019
@@ -205,7 +205,7 @@ public class HwmfEscape implements HwmfR
int byteCount = leis.readUShort();
int size = 2*LittleEndianConsts.SHORT_SIZE;
- escapeData = escapeFunction.constructor.get();
+ escapeData = (escapeFunction == null) ? new WmfEscapeUnknownData() : escapeFunction.constructor.get();
size += escapeData.init(leis, byteCount, escapeFunction);
return size;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org