HEX
Server: Apache/2.4.62 (Debian)
System: Linux plxsite 6.8.0-47-generic #47-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 27 21:40:26 UTC 2024 x86_64
User: root (0)
PHP: 8.1.30
Disabled: NONE
Upload Files
File: /var/www/html/wp-content/plugins/wordfence/modules/login-security/classes/utility/serialization.php
<?php

namespace WordfenceLS;

use RuntimeException;

class Utility_Serialization {

	public static function unserialize($data, $options = array(), $validator = null) {
		static $serializedFalse;
		if ($serializedFalse === null)
			$serializedFalse = serialize(false);
		if ($data === $serializedFalse)
			return false;
		if (!is_serialized($data))
			throw new RuntimeException('Input data is not serialized');
		if (version_compare(PHP_VERSION, '5.6', '<=')) {
			$unserialized = @unserialize($data);
		}
		else {
			$unserialized = @unserialize($data, $options);
		}
		if ($unserialized === false)
			throw new RuntimeException('Deserialization failed');
		if ($validator !== null && !$validator($unserialized))
			throw new RuntimeException('Validation of unserialized data failed');
		return $unserialized;
	}

}