summaryrefslogtreecommitdiffstats
path: root/7dbdfa405123c2fbca4864d87a143f7977403767.patch
diff options
context:
space:
mode:
Diffstat (limited to '7dbdfa405123c2fbca4864d87a143f7977403767.patch')
-rw-r--r--7dbdfa405123c2fbca4864d87a143f7977403767.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/7dbdfa405123c2fbca4864d87a143f7977403767.patch b/7dbdfa405123c2fbca4864d87a143f7977403767.patch
new file mode 100644
index 0000000..b422e37
--- /dev/null
+++ b/7dbdfa405123c2fbca4864d87a143f7977403767.patch
@@ -0,0 +1,36 @@
+From 7dbdfa405123c2fbca4864d87a143f7977403767 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Vojta=20Mat=C4=9Bjka?= <woytam@users.noreply.github.com>
+Date: Sun, 20 Oct 2019 15:30:04 +0200
+Subject: [PATCH] Problem with imagekeys undefined or unlinked
+
+PR #136 removed problem with undefined `$imagekeys`, but the solution skipped cleaning files in `$imagekeys`.
+The problem about this is that `_destroy` function is called 3 times (from `Close` function, as `shutdown_handler` and from `__desctruct` function). Only first time is called as `destroyall == false`, but unset `$imagekeys`. My solution is to preserve `$imagekeys` to be cleaned by call with `$imagekeys == true`.
+---
+ tcpdf.php | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/tcpdf.php b/tcpdf.php
+index 0ee30bc0..a38edfcc 100644
+--- a/tcpdf.php
++++ b/tcpdf.php
+@@ -7796,10 +7796,8 @@ public function _destroy($destroyall=false, $preserve_objcopy=false) {
+ }
+ closedir($handle);
+ }
+- if (isset($this->imagekeys)) {
+- foreach($this->imagekeys as $file) {
+- unlink($file);
+- }
++ foreach($this->imagekeys as $file) {
++ unlink($file);
+ }
+ }
+ $preserve = array(
+@@ -7809,6 +7807,7 @@ public function _destroy($destroyall=false, $preserve_objcopy=false) {
+ 'bufferlen',
+ 'buffer',
+ 'cached_files',
++ 'imagekeys',
+ 'sign',
+ 'signature_data',
+ 'signature_max_length',