my $file = $self->{Filename}; # This is detainted early on my $new_ext = ".new"; # This cannot be tainted my $new = $self->{Filename} . $new_ext; # Not tainted open NEW, "> $new" or die "Couldn't open $new : $!"; #### my $file = $self->{Filename}; # This is detainted early on my $new_ext = ".new"; # This cannot be tainted my $new = $self->{Filename} . $new_ext; # Not tainted if ( is_tainted( $new ) ) { printf STDERR "%s is tainted by %s\n", $new, is_tainted( $file ) ? $file : $new_ext; } open NEW, "> $new" or die "Couldn't open $new : $!"; #### my $file = $self->{Filename}; # This is detainted early on my $new_ext = ".new"; # This cannot be tainted my $new = $file . $new_ext; # Not tainted if ( is_tainted( $new ) ) { printf STDERR "%s is tainted by %s\n", $new, is_tainted( $file ) ? $file : $new_ext; } open NEW, "> $new" or die "Couldn't open $new : $!"; #### my $file = $self->{Filename}; # This is detainted early on my $new_ext = ".new"; # This cannot be tainted my $new = $file . $new_ext; # Not tainted if ( is_tainted( $self ) ) { printf STDERR "\$self ( %s ) is\n", ref( $self ); } open NEW, "> $new" or die "Couldn't open $new : $!"; #### $self = { NAME => $name, HEAD => $TREE->HEAD, RCSDIR => $TREE->RCSDIR, ETCDIR => $TREE->ETCDIR, LOGOBJ => $logfile, FILE => $file, SEC => $param{sec}, LIB => $param{lib}, VFILE => $TREE }; # This is the object of interest