Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorChih-Hsuan Yen <yan12125@gmail.com>2021-04-26 11:05:50 +0300
committerChih-Hsuan Yen <yan12125@gmail.com>2021-04-26 11:54:50 +0300
commitfea5b4a8b9dc829aa8a53a208d60c30ed7096601 (patch)
tree6b1a1afa35e125bed293ce9cd4f25abd4a7f64ca /apps
parentbf9ed2d3cd9a50ad5320b3fb07cbeac7ee4241b6 (diff)
Correctly truncate multibyte strings to fit into the database
Closes: #26174 Signed-off-by: Chih-Hsuan Yen <yan12125@gmail.com>
Diffstat (limited to 'apps')
-rw-r--r--apps/dav/lib/CalDAV/CalDavBackend.php6
-rw-r--r--apps/dav/lib/CardDAV/CardDavBackend.php2
2 files changed, 4 insertions, 4 deletions
diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php
index 15dabdbb14e..0a57ce17454 100644
--- a/apps/dav/lib/CalDAV/CalDavBackend.php
+++ b/apps/dav/lib/CalDAV/CalDavBackend.php
@@ -2678,7 +2678,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
if (!$this->db->supports4ByteText()) {
$value = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $value);
}
- $value = mb_substr($value, 0, 254);
+ $value = mb_strcut($value, 0, 254);
$query->setParameter('name', $property->name);
$query->setParameter('parameter', null);
@@ -2698,8 +2698,8 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
}
$query->setParameter('name', $property->name);
- $query->setParameter('parameter', mb_substr($key, 0, 254));
- $query->setParameter('value', mb_substr($value, 0, 254));
+ $query->setParameter('parameter', mb_strcut($key, 0, 254));
+ $query->setParameter('value', mb_strcut($value, 0, 254));
$query->executeUpdate();
}
}
diff --git a/apps/dav/lib/CardDAV/CardDavBackend.php b/apps/dav/lib/CardDAV/CardDavBackend.php
index 9246fc68ac9..fa7db3750ff 100644
--- a/apps/dav/lib/CardDAV/CardDavBackend.php
+++ b/apps/dav/lib/CardDAV/CardDavBackend.php
@@ -1271,7 +1271,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
}
}
$query->setParameter('name', $property->name);
- $query->setParameter('value', mb_substr($property->getValue(), 0, 254));
+ $query->setParameter('value', mb_strcut($property->getValue(), 0, 254));
$query->setParameter('preferred', $preferred);
$query->execute();
}