Created attachment 26949 [details] files that reproduce the bug The following exception occurs when a tryinf to resave workbook containing a name area with characters with accent (like french ones) in its name and a comment OR no accent in the name but one in the comment. (the following case : characters with accent in the name and no comment, works well) Exception in thread "main" java.lang.RuntimeException: Buffer overrun at org.apache.poi.util.LittleEndianByteArrayOutputStream.checkPosition(LittleEndianByteArrayOutputStream.java:51) at org.apache.poi.util.LittleEndianByteArrayOutputStream.write(LittleEndianByteArrayOutputStream.java:88) at org.apache.poi.hssf.record.NameCommentRecord.serialize(NameCommentRecord.java:68) at org.apache.poi.hssf.record.StandardRecord.serialize(StandardRecord.java:41) at org.apache.poi.hssf.model.InternalWorkbook.serialize(InternalWorkbook.java:1036) at org.apache.poi.hssf.usermodel.HSSFWorkbook.getBytes(HSSFWorkbook.java:1246) at org.apache.poi.hssf.usermodel.HSSFWorkbook.write(HSSFWorkbook.java:1149) Java code : just open the test file and resave it with POI.
The write logic was incorrect for non US-ASCII strings (read logic was fine). Fixed in r1099313.