diff --git a/lib/WebGUI/Storage.pm b/lib/WebGUI/Storage.pm index 6a2cdee0a..240165ba9 100644 --- a/lib/WebGUI/Storage.pm +++ b/lib/WebGUI/Storage.pm @@ -203,13 +203,14 @@ sub addFileFromFormPost { my $attachmentCount = 1; foreach my $upload ($session{req}->upload($formVariableName)) { return $filename if $attachmentCount > $attachmentLimit; - my $tempPath = $upload->filename(); - if ($tempPath =~ /([^\/\\]+)$/) { - $filename = $1; - } else { - $filename = $tempPath; - } + my $tempPath = $upload->tempname(); + $filename = $upload->filename(); next unless $filename; + if ($tempPath =~ /([^\/\\]+)$/) { + $filename = $1; + } else { + $filename = $tempPath; + } my $type = $self->getFileExtension($filename); if (isIn($type, qw(pl perl sh cgi php asp))) { # make us safe from malicious uploads $filename =~ s/\./\_/g;