aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java')
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
index 25e57188..cf7376c2 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
@@ -135,7 +135,7 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants {
logger.trace("sign started");
verifySignParameter(parameter);
-
+ OperationStatus status = null;
try {
// Status initialization
if (!(parameter.getConfiguration() instanceof ISettings)) {
@@ -143,7 +143,7 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants {
}
ISettings settings = (ISettings) parameter.getConfiguration();
- OperationStatus status = new OperationStatus(settings, parameter);
+ status = new OperationStatus(settings, parameter);
// set Original PDF Document Data
status.getPdfObject().setOriginalDocument(
@@ -199,6 +199,11 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants {
e);
throw new PdfAsException("error.pdf.sig.01", e);
} finally {
+ if(status != null) {
+ if(status.getPdfObject() != null) {
+ status.getPdfObject().close();
+ }
+ }
logger.trace("sign done");
}
}
@@ -437,6 +442,12 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants {
return createSignResult(status);
} catch (IOException e) {
throw new PdfAsException("error.pdf.sig.06", e);
+ } finally {
+ if(status != null) {
+ if(status.getPdfObject() != null) {
+ status.getPdfObject().close();
+ }
+ }
}
}