HEX
Server: Apache/2.4.68 (Debian)
System: Linux as-cs-widget-demo-us-central1 6.1.0-44-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
User: root (0)
PHP: 8.2.32
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;
	}

}