From 6835979dbf14492cd4a682f7953a9f9b03126007 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Fri, 20 Mar 2015 17:47:56 +0100 Subject: [PATCH] [ticket/514] Use preg_replace_callback in main_menu B3P-514 --- modules/main_menu.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/main_menu.php b/modules/main_menu.php index e1f99bbc..3c833348 100644 --- a/modules/main_menu.php +++ b/modules/main_menu.php @@ -534,7 +534,9 @@ class main_menu extends module_base */ private function utf_unserialize($serial_str) { - $out = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str); + $out = preg_replace_callback('!s:(\d+):"(.*?)";!s', function ($result) { + return 's:' . strlen($result[2]) . ":\"{$result[2]}\";"; + }, $serial_str); return unserialize($out); } }