summaryrefslogtreecommitdiffstats
path: root/lib/private/filechunking.php
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2016-04-04 16:48:09 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2016-04-04 16:48:09 +0200
commit6ecd1d9e86dc3f2b70da1071a13f661702627624 (patch)
tree6387d3f090d16f82342751e1a471f0abdab24a5d /lib/private/filechunking.php
parentf6cea3c9c436142110504ba76320d57ca7899b27 (diff)
downloadnextcloud-server-6ecd1d9e86dc3f2b70da1071a13f661702627624.tar.gz
nextcloud-server-6ecd1d9e86dc3f2b70da1071a13f661702627624.zip
Fix PHP memory leak in file_get_contents()
* ref https://bugs.php.net/bug.php?id=61961 * ref https://github.com/owncloud/core/issues/20261#issuecomment-180000256 * code is based on the proposal of @chriseqipe * fixes #20261
Diffstat (limited to 'lib/private/filechunking.php')
-rw-r--r--lib/private/filechunking.php4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/private/filechunking.php b/lib/private/filechunking.php
index 604a607336c..f2cef275458 100644
--- a/lib/private/filechunking.php
+++ b/lib/private/filechunking.php
@@ -90,7 +90,7 @@ class OC_FileChunking {
* Assembles the chunks into the file specified by the path.
* Chunks are deleted afterwards.
*
- * @param string $f target path
+ * @param resource $f target path
*
* @return integer assembled file size
*
@@ -106,6 +106,8 @@ class OC_FileChunking {
// remove after reading to directly save space
$cache->remove($prefix.$i);
$count += fwrite($f, $chunk);
+ // let php release the memory to work around memory exhausted error with php 5.6
+ $chunk = null;
}
return $count;