diff options
author | Andrew Dolgov <[email protected]> | 2021-02-25 18:21:48 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-02-25 18:21:48 +0300 |
commit | 8915bd1b2109eb561e38752b6574b6ba5c266600 (patch) | |
tree | b11b788af4f68eef01c27de89968e399e6457c36 /classes/logger/sql.php | |
parent | 34c74400a471b31fea22ea85636f47c76d783710 (diff) |
fix crash caused by non-numeric non-null _SESSION[uid] passed to sql logger
Diffstat (limited to 'classes/logger/sql.php')
-rwxr-xr-x | classes/logger/sql.php | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/classes/logger/sql.php b/classes/logger/sql.php index f88621fbe..d21934aa6 100755 --- a/classes/logger/sql.php +++ b/classes/logger/sql.php @@ -32,10 +32,14 @@ class Logger_SQL implements Logger_Adapter { $errstr = UConverter::transcode($errstr, 'UTF-8', 'UTF-8'); $context = UConverter::transcode($context, 'UTF-8', 'UTF-8'); + // can't use $_SESSION["uid"] ?? null because what if its, for example, false? or zero? + // this would cause a PDOException on insert below + $owner_uid = !empty($_SESSION["uid"]) ? $_SESSION["uid"] : null; + $sth = $this->pdo->prepare("INSERT INTO ttrss_error_log (errno, errstr, filename, lineno, context, owner_uid, created_at) VALUES (?, ?, ?, ?, ?, ?, NOW())"); - $sth->execute([$errno, $errstr, $file, $line, $context, $_SESSION["uid"] ?? null]); + $sth->execute([$errno, $errstr, $file, (int)$line, $context, $owner_uid]); return $sth->rowCount(); } |