diff options
author | Reikion <Reikion@users.noreply.github.com> | 2016-11-10 22:20:41 +0100 |
---|---|---|
committer | Florian Pritz <bluewind@xinu.at> | 2016-11-10 23:12:43 +0100 |
commit | 47ad013fb3cdbac5f0b1276b0197d6def055e95e (patch) | |
tree | 873675150894901b1d300b0a9a40e043f9dcf236 | |
parent | fdb2cd4105b4fd273c32c5c2fa6b6c93d46e7182 (diff) |
Make sure that return_bytes function returns int value
php_admin_value[post_max_size] in PHP fpm pool config set to big integer
(i.e. 106954752) causes fb-client to crash if file is bigger than
10485760 bytes with traceback
Traceback (most recent call last):
[...]
File "/usr/bin/fb", line 138, in upload_files
if self.serverConfig is not None and (currentChunkSize + filesize > self.serverConfig["request_max_size"] \
TypeError: unorderable types: int() > str()
because api/v2.1.0/file/get_config returns "request_max_size" as string
Changes by Florian Pritz:
- Add test
- Add github PR body as commit message
- Split off indentation change
Signed-off-by: Florian Pritz <bluewind@xinu.at>
-rw-r--r-- | application/helpers/filebin_helper.php | 2 | ||||
-rw-r--r-- | application/test/tests/test_filebin_helper.php | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/application/helpers/filebin_helper.php b/application/helpers/filebin_helper.php index 093f7a8bd..3344e5ecf 100644 --- a/application/helpers/filebin_helper.php +++ b/application/helpers/filebin_helper.php @@ -375,7 +375,7 @@ function return_bytes($size_str) case 'K': case 'k': return (int)$size_str * 1024; case 'M': case 'm': return (int)$size_str * 1048576; case 'G': case 'g': return (int)$size_str * 1073741824; - default: return $size_str; + default: return (int)$size_str; } } diff --git a/application/test/tests/test_filebin_helper.php b/application/test/tests/test_filebin_helper.php index edebb13ca..c505dfe8a 100644 --- a/application/test/tests/test_filebin_helper.php +++ b/application/test/tests/test_filebin_helper.php @@ -66,5 +66,6 @@ class test_filebin_helper extends \test\Test { $this->t->is(return_bytes("1M"), 1*1024*1024, "1M"); $this->t->is(return_bytes("1G"), 1*1024*1024*1024, "1G"); $this->t->is(return_bytes("1P"), "1P", "unhandled text: 1P"); + $this->t->ok(return_bytes("106954752") === 106954752, "value without unit is returned as int"); } } |