You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by ni...@apache.org on 2006/11/20 13:26:52 UTC

svn commit: r477162 - /jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/CurrentUserAtom.java

Author: nick
Date: Mon Nov 20 04:26:51 2006
New Revision: 477162

URL: http://svn.apache.org/viewvc?view=rev&rev=477162
Log:
Detect when the Current User stream is too short, and give a more helpful exception in that case

Modified:
    jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/CurrentUserAtom.java

Modified: jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/CurrentUserAtom.java
URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/CurrentUserAtom.java?view=diff&rev=477162&r1=477161&r2=477162
==============================================================================
--- jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/CurrentUserAtom.java (original)
+++ jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/CurrentUserAtom.java Mon Nov 20 04:26:51 2006
@@ -23,6 +23,7 @@
 import org.apache.poi.poifs.filesystem.*;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.StringUtil;
+import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
 
 
 /**
@@ -95,6 +96,12 @@
 		DocumentEntry docProps =
 			(DocumentEntry)fs.getRoot().getEntry("Current User");
 		_contents = new byte[docProps.getSize()];
+
+		// Check it's big enough - if it's not at least 28 bytes long, then
+		//  the record is corrupt
+		if(_contents.length < 28) {
+			throw new CorruptPowerPointFileException("The Current User stream must be at least 28 bytes long, but was only " + _contents.length);
+		}
 
 		// Grab the contents
 		InputStream in = fs.createDocumentInputStream("Current User");



---------------------------------------------------------------------
To unsubscribe, e-mail: poi-dev-unsubscribe@jakarta.apache.org
Mailing List:    http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta POI Project: http://jakarta.apache.org/poi/