|
Packit |
dfe23c |
|
|
Packit |
dfe23c |
use Test::More tests => 8;
|
|
Packit |
dfe23c |
BEGIN { use_ok('Taint::Runtime') };
|
|
Packit |
dfe23c |
|
|
Packit |
dfe23c |
Taint::Runtime->import(qw(taint_start
|
|
Packit |
dfe23c |
taint_enabled
|
|
Packit |
dfe23c |
taint
|
|
Packit |
dfe23c |
untaint
|
|
Packit |
dfe23c |
is_tainted
|
|
Packit |
dfe23c |
));
|
|
Packit |
dfe23c |
|
|
Packit |
dfe23c |
ok(! taint_enabled(), "Taint is Not on yet");
|
|
Packit |
dfe23c |
|
|
Packit |
dfe23c |
taint_start();
|
|
Packit |
dfe23c |
|
|
Packit |
dfe23c |
ok(taint_enabled(), "Taint is On");
|
|
Packit |
dfe23c |
|
|
Packit |
dfe23c |
my $data = "foo";
|
|
Packit |
dfe23c |
ok(! is_tainted($data), "No false positive on is_tainted");
|
|
Packit |
dfe23c |
|
|
Packit |
dfe23c |
my $copy = taint($data);
|
|
Packit |
dfe23c |
ok(is_tainted($copy), "Made a tainted copy");
|
|
Packit |
dfe23c |
|
|
Packit |
dfe23c |
taint(\$data);
|
|
Packit |
dfe23c |
ok(is_tainted($data), "Tainted it directly");
|
|
Packit |
dfe23c |
|
|
Packit |
dfe23c |
$copy = untaint($data);
|
|
Packit |
dfe23c |
ok(! is_tainted($copy), "Made a clean copy");
|
|
Packit |
dfe23c |
|
|
Packit |
dfe23c |
untaint(\$data);
|
|
Packit |
dfe23c |
ok(! is_tainted($data), "Clean it directly");
|