mirror of https://tt-rss.org/git/tt-rss.git
sql logger: ensure error string and context are valid UTF8 before trying to insert it
This commit is contained in:
parent
fda475bd93
commit
bf5dfc444e
|
@ -15,6 +15,11 @@ class Logger_SQL {
|
||||||
if (DB_TYPE == "mysql")
|
if (DB_TYPE == "mysql")
|
||||||
$context = substr($context, 0, 65534);
|
$context = substr($context, 0, 65534);
|
||||||
|
|
||||||
|
// passed error message may contain invalid unicode characters, failing to insert an error here
|
||||||
|
// would break the execution entirely by generating an actual fatal error instead of a E_WARNING etc
|
||||||
|
$errstr = UConverter::transcode($errstr, 'UTF-8', 'UTF-8');
|
||||||
|
$context = UConverter::transcode($context, 'UTF-8', 'UTF-8');
|
||||||
|
|
||||||
$sth = $this->pdo->prepare("INSERT INTO ttrss_error_log
|
$sth = $this->pdo->prepare("INSERT INTO ttrss_error_log
|
||||||
(errno, errstr, filename, lineno, context, owner_uid, created_at) VALUES
|
(errno, errstr, filename, lineno, context, owner_uid, created_at) VALUES
|
||||||
(?, ?, ?, ?, ?, ?, NOW())");
|
(?, ?, ?, ?, ?, ?, NOW())");
|
||||||
|
|
Loading…
Reference in New Issue