diff options
author | Robin Appelman <icewind@owncloud.com> | 2015-02-17 16:52:09 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2015-02-25 15:08:40 +0100 |
commit | c2a7fff4f6f79e37aedf299fd01727efd9082450 (patch) | |
tree | 31429675500a3c9e43f1d0ea3f587f77e8727156 | |
parent | 6fc0eb02360dc9f997bdffd0a4efeb25425ddd75 (diff) | |
download | nextcloud-server-c2a7fff4f6f79e37aedf299fd01727efd9082450.tar.gz nextcloud-server-c2a7fff4f6f79e37aedf299fd01727efd9082450.zip |
throw an exception when trying to push a background job that wont fit in the table
otherwise it will lead to failures in json decode and unexpected and hard to debug issues when running the job
-rw-r--r-- | lib/private/backgroundjob/joblist.php | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/private/backgroundjob/joblist.php b/lib/private/backgroundjob/joblist.php index 4011572f62e..95a7b125801 100644 --- a/lib/private/backgroundjob/joblist.php +++ b/lib/private/backgroundjob/joblist.php @@ -57,6 +57,9 @@ class JobList implements IJobList { $class = $job; } $argument = json_encode($argument); + if (strlen($argument) > 2048) { + throw new \InvalidArgumentException('Background job arguments cant exceed 2048 characters (json encoded'); + } $query = $this->conn->prepare('INSERT INTO `*PREFIX*jobs`(`class`, `argument`, `last_run`) VALUES(?, ?, 0)'); $query->execute(array($class, $argument)); } |