From d8e98506c29baeb3a14b203205928f7a27f8acf5 Mon Sep 17 00:00:00 2001 From: bohwaz Date: Fri, 23 Dec 2022 20:25:46 +0100 Subject: [PATCH] Try to fix issue with memory exhaustion when gzipping large files --- README.md | 2 +- index.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1176a6c..9c5a292 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ It accepts these options: * `ANONYMOUS_READ` (boolean, see below) * `ANONYMOUS_WRITE` (boolean, see below) -* `HTTP_LOG` (string, set to a file path to log HTTP requests for debug purposes) +* `HTTP_LOG_FILE` (string, set to a file path to log HTTP requests for debug purposes) ### Users and passwords diff --git a/index.php b/index.php index 8400f4b..52864ee 100644 --- a/index.php +++ b/index.php @@ -438,7 +438,7 @@ namespace KD2\WebDAV $this->log('Using gzip output compression'); $gzip = deflate_init(ZLIB_ENCODING_GZIP, ['level' => 9]); - $fp = fopen('php://memory', 'wb'); + $fp = fopen('php://temp', 'wb'); while (!feof($file['resource'])) { fwrite($fp, deflate_add($gzip, fread($file['resource'], 8192), ZLIB_NO_FLUSH)); @@ -1883,11 +1883,11 @@ RewriteRule ^.*$ /index.php [END] $fp = fopen(__FILE__, 'r'); if ($relative_uri == '.webdav/webdav.js') { - fseek($fp, 50403, SEEK_SET); + fseek($fp, 50401, SEEK_SET); echo fread($fp, 27769); } else { - fseek($fp, 50403 + 27769, SEEK_SET); + fseek($fp, 50401 + 27769, SEEK_SET); echo fread($fp, 7004); }