diff options
author | Thomas Citharel <tcit@tcit.fr> | 2022-07-06 09:53:59 +0200 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2022-07-25 09:45:47 +0200 |
commit | 1d30fb7852e61cf9a2fcd03e83fa193c6aa5c827 (patch) | |
tree | 16fa15a59555ece94d1da53d160611fe28fbea8d /lib | |
parent | 35a6f54bcd559016f4244ab0c38c2dd8a82c57cb (diff) | |
download | nextcloud-server-1d30fb7852e61cf9a2fcd03e83fa193c6aa5c827.tar.gz nextcloud-server-1d30fb7852e61cf9a2fcd03e83fa193c6aa5c827.zip |
Fix reading blob data as resource
PostgreSQL returns data as resource when using IQueryBuilder::PARAM_LOB
(which is used for QBMapper).
Previously we just converted this resource using settype, which produced
things like "Resource id #14" instead of the actual resource data.
Now we read the stream correctly if the returned data is a resource
See context at #22472
Fixes #22439
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/public/AppFramework/Db/Entity.php | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/public/AppFramework/Db/Entity.php b/lib/public/AppFramework/Db/Entity.php index a059e3a27b0..dcd1c77c042 100644 --- a/lib/public/AppFramework/Db/Entity.php +++ b/lib/public/AppFramework/Db/Entity.php @@ -113,6 +113,9 @@ abstract class Entity { $type = $this->_fieldTypes[$name]; if ($type === 'blob') { // (B)LOB is treated as string when we read from the DB + if (is_resource($args[0])) { + $args[0] = stream_get_contents($args[0]); + } $type = 'string'; } |