You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by bu...@apache.org on 2013/08/27 21:57:40 UTC

[Bug 55490] New: OLE2 gets corrupted using BlockSize != 512

https://issues.apache.org/bugzilla/show_bug.cgi?id=55490

            Bug ID: 55490
           Summary: OLE2 gets corrupted using BlockSize != 512
           Product: POI
           Version: 3.10-dev
          Hardware: PC
            Status: NEW
          Severity: critical
          Priority: P2
         Component: POIFS
          Assignee: dev@poi.apache.org
          Reporter: sebastian@opencollada.org

Created attachment 30769
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=30769&action=edit
Simple empty MSI file with BigBlocks

We are developing a MSI reader/writer based upon POIFS. Using a x64 Windows 7
and WIX we create MSI files that can not be modified by POIFS.

The file can be created by using:
  candle.exe minimal.wxs -o tmp.wixobj
  light tmp.wixobj -pdbout tmp.wixpdb -o empty.msi

The resulting MSI is attached to this bug report. The testcase to create a
corrupt OLE2 document is rather simple:

FileInputStream  istream = new FileInputStream("empty.msi");
FileOutputStream ostream = new FileOutputStream("empty2.msi");

new POIFSFileSystem(istream).writeFilesystem(ostream);
istream.close();
ostream.close();

We suspect that BigBlocks are the critical part.
Thanks in advance!

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 55490] OLE2 gets corrupted using BlockSize != 512

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=55490

--- Comment #2 from Nick Burch <ap...@gagravarr.org> ---
POIFS has some limited support for non-512 blocks, but it's not ideal, and not
really fixable. The POIFSFileSystem code has some assumptions backed in very
deeply, which are almost but not always correct...

NPOIFS should work fine with both 512 and 4k blocks. The various problems
spotted with POIFSFileSystem have been fixed in NPOIFSFileSystem

However... NPOIFSFileSystem doesn't quite have write support. It's almost all
there, but there's one or two failing unit tests to fix. I've been meaning to
go back to it to finish it, but that has been the case for 2 or 3 years now :/

If you have a bit of time, I'd suggest you switch to NPOIFS, and give a hand to
squash those last few bugs!

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 55490] OLE2 gets corrupted using BlockSize != 512

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=55490

--- Comment #3 from sebastian@opencollada.org ---
That did the trick! Thank you very much, I'll verify that everything is working
as expected and report back.
Sebastian

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 55490] OLE2 gets corrupted using BlockSize != 512

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=55490

--- Comment #1 from sebastian@opencollada.org ---
Created attachment 30770
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=30770&action=edit
Minimal WIX configuration to create the MSI file

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 55490] OLE2 gets corrupted using BlockSize != 512

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=55490

sebastian@opencollada.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sebastian@opencollada.org
                 OS|                            |All

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org