mirror of https://github.com/apache/poi.git
Bug 66425: Avoid exceptions found via poi-fuzz
Fix check after commit fcaac5073716b98cba26c0655f06f20e310fd85e so that other IndexOutOfBoundsExceptions are still thrown out Also free resources when throwing an exception in the constructor git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1912799 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2bd84bf25c
commit
e670061518
|
@ -63,8 +63,16 @@ public class SXSSFSheet implements Sheet, OoxmlSheetExtensions {
|
|||
setRandomAccessWindowSize(randomAccessWindowSize);
|
||||
try {
|
||||
_autoSizeColumnTracker = new AutoSizeColumnTracker(this);
|
||||
} catch (UnsatisfiedLinkError | InternalError e) {
|
||||
LOG.atWarn().log("Failed to create AutoSizeColumnTracker, possibly due to fonts not being installed in your OS", e);
|
||||
} catch (UnsatisfiedLinkError | NoClassDefFoundError | InternalError |
|
||||
// thrown when no fonts are available in the workbook
|
||||
IndexOutOfBoundsException e) {
|
||||
// only handle special NoClassDefFound
|
||||
if (!e.getMessage().contains("X11FontManager")) {
|
||||
throw e;
|
||||
}
|
||||
LOG.atWarn()
|
||||
.withThrowable(e)
|
||||
.log("Failed to create AutoSizeColumnTracker, possibly due to fonts not being installed in your OS");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,9 +107,21 @@ public class SXSSFSheet implements Sheet, OoxmlSheetExtensions {
|
|||
} catch (UnsatisfiedLinkError | NoClassDefFoundError | InternalError |
|
||||
// thrown when no fonts are available in the workbook
|
||||
IndexOutOfBoundsException e) {
|
||||
// only handle special NoClassDefFound
|
||||
if (!e.getMessage().contains("X11FontManager")) {
|
||||
// close temporary resources when throwing exception in the constructor
|
||||
_writer.close();
|
||||
|
||||
throw e;
|
||||
}
|
||||
LOG.atWarn()
|
||||
.withThrowable(e)
|
||||
.log("Failed to create AutoSizeColumnTracker, possibly due to fonts not being installed in your OS");
|
||||
} catch (Throwable e) {
|
||||
// close temporary resources when throwing exception in the constructor
|
||||
_writer.close();
|
||||
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue