Skip to content

Commit 27b839b

Browse files
paulholdenHuongNV13
authored andcommitted
MDL-84475 repository_dropbox: safer unserializing of file references.
1 parent e741e0b commit 27b839b

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

repository/dropbox/lib.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public function send_file($storedfile, $lifetime=null , $filter=0, $forcedownloa
111111
*/
112112
public function get_reference_details($reference, $filestatus = 0) {
113113
global $USER;
114-
$ref = unserialize($reference);
114+
$ref = unserialize_object($reference);
115115
$detailsprefix = $this->get_name();
116116
if (isset($ref->userid) && $ref->userid != $USER->id && isset($ref->username)) {
117117
$detailsprefix .= ' ('.$ref->username.')';
@@ -343,8 +343,8 @@ public function send_thumbnail($source) {
343343
* @return string New serialized reference
344344
*/
345345
protected function fix_old_style_reference($packed) {
346-
$ref = unserialize($packed);
347-
$ref = $this->dropbox->get_file_share_info($ref->path);
346+
$ref = unserialize_object($packed);
347+
$ref = $this->dropbox->get_file_share_info($ref->path ?? '');
348348
if (!$ref || empty($ref->url)) {
349349
// Some error occurred, do not fix reference for now.
350350
return $packed;
@@ -396,10 +396,10 @@ protected function fix_old_style_reference($packed) {
396396
* @return object The unpacked reference
397397
*/
398398
protected function unpack_reference($packed) {
399-
$reference = unserialize($packed);
399+
$reference = unserialize_object($packed);
400400
if (empty($reference->url)) {
401401
// The reference is missing some information. Attempt to update it.
402-
return unserialize($this->fix_old_style_reference($packed));
402+
return unserialize_object($this->fix_old_style_reference($packed));
403403
}
404404

405405
return $reference;

0 commit comments

Comments
 (0)