From: Robin Appelman Date: Tue, 17 Feb 2015 15:52:09 +0000 (+0100) Subject: throw an exception when trying to push a background job that wont fit in the table X-Git-Tag: v8.1.0alpha1~400^2~8 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c2a7fff4f6f79e37aedf299fd01727efd9082450;p=nextcloud-server.git 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 --- 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)); }